oracle中年差 月差 日差的計算

2021-05-27 16:35:06 字數 2225 閱讀 9101

oracle裡的兩個日期型別的資料相減得到的天數

相差天數

sql> 

select to_date('2010-03-02','yyyy-mm-dd')-to_date('2010-02-10','yyyy-mm-dd') from a 

--------20----------結果為2月10日到3月2日的天數

sql> 

select trunc(to_date('2010-03-02','yyyy-mm-dd'),'mm')- trunc(to_date('2010-02-10','yyyy-mm-dd'),'mm') from a

--------28----------結果為2月到3月的天數(上sql精確到了月份)

sql> 

select trunc(to_date('2010-03-02','yyyy-mm-dd'),'yy')- trunc(to_date('2010-02-10','yyyy-mm-dd'),'yy') from a

--------0-----------結果是按年計算

相差月數 

sql> 

select months_between(trunc(to_date('2010-03-02','yyyy-mm-dd'),'mm') , trunc(to_date('2010-02-10','yyyy-mm-dd'),'mm')) from a

---------1----------結果為月份差(是前日期與後日期差,反過來為-1)

sql> 

select months_between(to_date('2010-03-01','yyyy-mm-dd') , to_date('2010-02-01','yyyy-mm-dd'))  from a

---------1----------日相同時計算精確

sql> 

select months_between(to_date('2010-03-02','yyyy-mm-dd') , to_date('2010-02-01','yyyy-mm-dd')) from a

--------1.03225806451613------日相差1或n天,--是如何計算的???

相差年

sql> 

select trunc(months_between(to_date('2010-03-01','yyyy-mm-dd') , to_date('2009-03-01','yyyy-mm-dd'))/12) from a

---------1----------結果為年份差(是前日期與後日期差,反過來為-1)

sql> 

select months_between(to_date('2010-03-01','yyyy-mm-dd') , to_date('2009-03-01','yyyy-mm-dd'))/12 from a

---------1----------結果為年份差(是前日期與後日期差,反過來為-1)

sql> 

select trunc( months_between(to_date('2010-05-01','yyyy-mm-dd') , to_date('2009-03-01','yyyy-mm-dd'))/12) from a

---------1----------結果為年份差(是前日期與後日期差,反過來為-1)

sql> 

select months_between(to_date('2010-05-01','yyyy-mm-dd') , to_date('2009-03-01','yyyy-mm-dd'))/12 dd from es_accu_card_private

---------1.16666666666667----------

oracle trunc函式

sql> 

select trunc(5.75,-2),trunc(5.75,-1),trunc(5.75), trunc(5.75,0),trunc(5.75,1), trunc(5.75,2),trunc(5.75,3) from a

---------0---0---5---5---5.7---5.75---5.75------

trunc(x,y),其中如果沒有指定y,則對x在0位小數進行截斷

trunc(x,y),y為負數,則對x在小數點左邊的第|y|位處進行截斷,將5.57看成05.57,所以得到0值

簡述導線平差計算的五個步驟 閉合導線平差計算步驟

閉合導線平差計算步驟 1 繪製計算草圖。在圖上填寫已知資料和觀測資料。2 角度閉合差的計算與調整 1 計算閉合差 2 計算限差 圖根級 3 若在限差內,則按平均分配原則,計算改正數 4 計算改正後新的角值 3 按新的角值,推算各邊座標方位角。4 按座標正算公式,計算各邊座標增量。5 座標增量閉合差的...

oracle計算時間差的問題

之前有個需求是oracle儲存過程中計算兩個時間的時間差,本來以為資料庫中直接相減就可以了,但是經過測試,發現了一點問題。就是總是比預想的值要大1,比如說2月22日,減去2月21日,值竟然是2。然後2月21日減去2月21日,值是1。進一步在pl sql中測試 發現了問題所在,原來是值的精度問題。會把...

計算時間差的Oracle函式

oracle函式可以實現諸多的功能,下面就介紹使用oracle函式計算時間差的實現方法,如果您對oracle函式方面感興趣的話,不妨一看。兩個date型別字段 start date,end date,計算這兩個日期的時間差 分別以天,小時,分鐘,秒,毫秒 天 round to number end ...