Oracle 日期減法

--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;

 

--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
                )
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;

 

--oracle兩個日期的相差月數
/*月份都是最後一天,A日期 > B日期 ,返回整數*/
select months_between(
           TO_DATE('2018-6-30','yyyy-mm-dd hh24:mi:ss'),
           TO_DATE('2018-5-31','yyyy-mm-dd hh24:mi:ss')
                     )
As 相差月份1 from dual;

 

/*月份都是最後一天,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;

 

/*月份天數不一樣,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;

--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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章