![52f5850b498c02990940c5b576d51ee9.png](https://img-blog.csdnimg.cn/img_convert/52f5850b498c02990940c5b576d51ee9.png)
1.数值型函数
-- 数值型函数
-- 四舍五入round(x,y)对x保留y为小数
select round(23.652) from dual;
select round(23.652,1) from dual;
select round(25.652,-1) from dual;
-- 返回x按精度y截取后的值
select trunc(23.652) from dual;
select trunc(23.652,2) from dual;
select trunc(23.652,-1) from dual;
-- mod(x,y)求余数
select mod(9,2) from dual;
-- ceil 向上取整
select ceil(1.9) from dual;
-- floor 向下取整
select floor(1.9) from dual;
2.日期时间函数
-- 返回系统当前时间
select sysdate from dual;
-- 返回当前会话时区中的当前日期
select current_date from dual;
-- 添加月数
select add_months(sysdate,1) from dual;
-- 返回两个时间相差的月数
select months_between(sysdate,add_months(sysdate,2)) from dual;
-- 需求:查询工作年限在30年以上
select e.ename,e.hiredate
from emp e
where months_between(sysdate,e.hiredate)/12 > 30
-- 返回date所在月份最后的一天
select last_day(add_months(sysdate,1)) from dual;
-- next_day(date1,week) 返回date1下个星期几的日期
select sysdate "当时日期",next_day(sysdate,'Monday') "下周星期一" from dual;
-- 查询会话的环境参数
select * from nls_session_parameters;
日期可进行四则运算,且四则运算时的单位是“天”。
select sysdate+2 from dual;
select sysdate-2 from dual;
2.1转换函数
在Oracle中同样存在数据类型的相互转换,也同样存在强制类型数据转换,和自动类型数据转换,在Oracle中称为:显示类型转换和隐式类型转换。
2.1.1隐式类型转换
-- 字符隐式转换成数值
select '100' - 10 from dual;
-- 字符隐式转化为日期
-- DD-MON-RR 默认的日期格式
select 1 from dual
where sysdate > '13-May-19';
-- 查date format格式
select * from nls_session_parameters;
2.1.2显示类型转换
![270c978b5e021dd0ca89fec368e9e137.png](https://img-blog.csdnimg.cn/img_convert/270c978b5e021dd0ca89fec368e9e137.png)
在Oracle中,常见的数据类型之间的转换,其中character可以作为时间与数值转换的桥梁。
2.1.3 to_char
把Date转换为Character的格式如下: