数值函数
1.round(n,m)四舍五入 n目标值,m保留m位小数 不写时为0 不保留小数位
select round(23.4),round(23.45,1),round(23.45,-1) from dual;
2.取整函数ceil(n)向上取整 floor(n)向下取整
select ceil(23.45), floor(23.45) from dual;
3.abs()绝对值
select abs(23.45),abs(-23.45),abs(0) from dual;
4.mod(m,n)取余
select mod(5,2),mod(5,null) from dual;
5.power(m,n)m的n次幂
select power(5,3),power(5,0),power(0,5) from dual;
6.sqrt()平方根
select sqrt(16) from dual;
7.sin()正弦 asin()反正弦 cos()余弦 acos()反余弦 tan()正切 atan()反正切
select cos(45),acos(0.5), sin(60),asin(0.5),tan(30),atan(0.5) from dual;
字符函数
1.大小写转化 upper() 小写转大写 lower()大写转小写 initcap()首字母大写
select upper('abcd'),lower('ABCD'), initcap('abcd')from dual;
2.截取字符串 substr(char,m,n)m由第几位截取,n截取几位
select substr('abcde',2,3),substr('abcde',3),substr('abcde',-3,3)from dual;
3.length()获取字符串长度
select length('abcde ') from dual;
4.concat()连接函数
select concat('ab','cd') from dual;
5.字符串去除字符 trim(c2 from c1)只能截取一个 ltrim(c1,c2)左边开始,rtrim(c1,c2)右边开始 trim(char)去除前后的空格
select trim('b' from 'abcde'),ltrim('abcdabcd','ab'),rtrim('abcdabcd','d') from dual;
6.replace(char,c1,c2)替换
select replace('abcde','cd','D') from dual;
时间函数
1.系统时间sysdate
select sysdate from dual;
2.add_months(date,n) 在月上+n
select add_months(sysdate,3),add_months(sysdate,-3) from dual;
3.next_day(date,'星期几') 下周几是几月几日
select next_day(sysdate,'星期二') from dual;
4.last_day(date)这个时间月份的最后一天
select last_day(sysdate) from dual;
5.months_between(date,date)两个日期间相差的月份
select months_between('10-5月-18','10-1月-18') from dual;
6.extract(date from date)获取当前时间的年月日
select extract(year from sysdate) 年,extract(month from sysdate) 月
,extract(day from sysdate) 日,extract(hour from timestamp '2018-04-10 14:26:20') 时 from dual;
转换函数
1.to_char(date,'格式')
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual
2.to_date()字符串转化为日期类型
select to_date('2015-04-05','yyyy-mm-dd') from dual;
3.to_number()将字符串转化为数字
select to_number('$123456','$999999') from dual;