数值函数
ROUND(n[,m]),省略m时为0,m>0时,保留小数点后m位,m<0时小数点前m位四舍五入
select round(23.4),round(23.45,1),round(23.45,-1) from dual;
对应的值 23 23.5 20
取整函数 CEIL(n),FLOOR(n);
select ceil(23.45),floor(23.45) from dual;
对应的值 24 23
ABS(n) 取绝对值
MOD(m,n)被除数与除数取余的值,m,n任意值为NULL,则结果为NULL;
MOD(5,2)--->1,MOD(5,NULL)--->NULL;
POWER(m,n)--->m的n次幂
power(2,3)--->8;
SQRT(n);
sqrt(4)--->2
三角函数
SIN(n);ASIN(N);COS(n);ACOS(n);TAN(n);ATAN(n);
字符函数
大小写转换函数 UPPER(char),LOWER(char),INITCAP(char)(首字母大写的函数)
日期函数
SYSDATE (默认格式 DD-MON-RR)
ADD_MONTHS(date,i)
NEXT_DAY(date,char)
LAST_DAY(date)
select sysdate,add_months(sysdate,3),add_months(sysdate, -3),next_day(sysdate,'星期一'),last_day(date) from dual;
select months_between('20-5月-15','20-3月-15') from dual;
//返回月份差
select extract(year from sysdate) from dual;
select extract(month from sysdate) from dual;
select extract(day from sysdate) from dual;
转换函数
日期--->字符 to_char(date[,fmt[,params]])
字符--->日期 to_date(char[,fmt[,params]])
数字--->字符 to_number(char[,fmt]) fmt是转换格式可以省略
select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') from dual;
select to_date('2015-05-22', 'YYYY-MM-DD') from dual;
select to_number('$1,000','$9999') from dual;
函数的应用
在员工信息表中根据身份证号查询员工的生日,用到substr函数
将部门01修改为信息科技部用到replace函数
查询员工的入职年份 extract(year from regdate)函数;
查询5月份员工的入职信息 extract(month from regdate) = 5;
参考:https://www.imooc.com/learn/423