oracle中计算两个⽇期之间得天数、⽉数、年数以及结合使⽤常
⽤函数
1、相差天数(两个⽇期相减)
--Oracle中两个⽇期相差天数--
select TO_NUMBER(TO_DATE('2018-6-5','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2018-5-31','yyyy-mm-dd hh24:mi:ss'))
AS 相差天数 from dual;
2、相差⼩时数、分钟数、秒数
--Oracle中两个⽇期相差⼩时数--
select TO_NUMBER((TO_DATE('2018-6-5','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2018-5-31','yyyy-mm-dd hh24:mi:ss'))*24)
AS 相差⼩时数 from dual;
--Oracle中两个⽇期相差分钟数--
select TO_NUMBER((TO_DATE('2018-6-5','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2018-5-31','yyyy-mm-dd hh24:mi:ss'))*24*60)oracle中trunc函数用法
AS 相差分钟数 from dual;
--Oracle中两个⽇期相差秒数--
select TO_NUMBER((TO_DATE('2018-6-5','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2018-5-31','yyyy-mm-dd hh24:mi:ss'))*24*60*60)
AS 相差秒数 from dual;
3、相差⽉数(months_between()函数)
--oracle两个⽇期的相差⽉数--
--1)⽉份都是最后⼀天,A⽇期 > B⽇期 ,返回整数 ---
select months_between(TO_DATE('2018-6-30','yyyy-mm-dd hh24:mi:ss'),TO_DATE('2018-5-31','yyy
y-mm-dd hh24:mi:ss'))
As 相差⽉份1 from dual;
--2)⽉份都是最后⼀天,B⽇期 > A⽇期 ,返回负数 ---
select months_between(TO_DATE('2018-4-30','yyyy-mm-dd hh24:mi:ss'),TO_DATE('2018-5-31','yyyy-mm-dd hh24:mi:ss'))
As 相差⽉份2 from dual;
--3)⽉份天数不⼀样,A⽇期 > B⽇期 ,返回带⼩数的数字---
select months_between(TO_DATE('2018-6-25','yyyy-mm-dd hh24:mi:ss'),TO_DATE('2018-5-31','yyyy-mm-dd hh24:mi:ss'))
As 相差⽉份3 from dual;
4、相差年数(原先⽉数/12)
--oracle两个⽇期的相差年份--
select ((months_between(TO_DATE('2018-5-31','yyyy-mm-dd hh24:mi:ss'),TO_DATE('2016-5-31','yyyy-mm-dd hh24:mi:ss')))/12)
As 相差年份 from dual;
显⽰结果如下:
1)相差天数
2)相差⼩时数、分钟数、毫秒数
3)相差⽉数
4)相差年数
ROUND——按照指定的精度进⾏四舍五⼊
SQL> select round(3.1415926,4) from dual;
ROUND(3.1415926,4)
------------------
3.1416
TRUNC——按照指定的精度进⾏截取⼀个数SQL> select trunc(3.1415926,4) from dual; ROUND(3.1415926,4)
------------------
3.1415
FLOOR——对给定的数字取整数位
SQL> select floor(2345.67) from dual; FLOOR(2345.67)
--------------
2345
CEIL-- 返回⼤于或等于给出数字的最⼩整数SQL> select ceil(3.1415927) from dual; CEIL(3.1415927)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。