一、聚合函数

1、count
select count(*) from student;  //所有
select count(s_name) from student; //NULL 不计数
2、max
select max(c_no) from class;
3、min
select min(c_no) from class; //不计算空值
4、avg 平均值
select avg(c_no) from class;

5、sum 求和

select sum(c_no) from class;

二、日期时间

1、now  当前时间

select now();

//这种不带from的语句在oracle中是不支持的

2、date 日期函数

select date(now());

select date("2020-12-22 11:02:39");

3、time 
select time(now());
4、date_format()   日期格式转字符串 
select date_format(now(),"%Y%m%d %H:%i:%s");

三、常用

1、upper
select upper("abcd");
2、lower

select lower("ABc");

 

select lower(upper("ABCedf"));

3、ucase 同 upper

     lcase  同 lower

4、subtring 提取字串

select substring("abcdfer",2,3);
insert into student values(24,substring("01王能2001",3,2), 2);
5、round 四舍五入
 select round(5.53);// 6
select round(3.1415926,3); //3.142
6、power 次方 根

select power(2,3); //2^3  = 8

 

select power(8,1/3); //1.9999999986137056   因为1/3就是无限循环小数

select power(4,1/2);// 2

 

7、sqrt 平方根

select sqrt(16); //4

8、concat 

比如查询两个字段 c_date c_dateTime, 

c_date        格式:YYYYMMDD

c_dateTime格式:MMDDhhmmss

给定时间 :20201223171030,查询大于这个时间的数据

select * from myTable where contat(substr(c_date,1,4), c_dateTime)>=20201223171030;//把时间字符串进行拆分 通过where c_date and c_dateTime格式也可以,但是要查询20151223171030 到 20201223171030 之间的数据就困难了,

用concat函数就能很方便解决

select * from myTable where contat(substr(c_date,1,4), c_dateTime)<=20201223171030  and  contat(substr(c_date,1,4), c_dateTime)>=20151223171030;

 

 

Logo

一站式 AI 云服务平台

更多推荐