select to_char(round((to_date('2012-03-05', 'yyyy-mm-dd') - to_date('2012-02-01', 'yyyy-mm-dd'))/30)) || '個月' || to_char((to_date('2012-03-05', 'yyyy-mm-dd') - to_date('2012-03-01', 'yyyy-mm-dd'))) || '天'
創(chuàng)新互聯(lián)公司專注于月湖網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供月湖營銷型網(wǎng)站建設(shè),月湖網(wǎng)站制作、月湖網(wǎng)頁設(shè)計、月湖網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造月湖網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供月湖網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
from dual
1、取出extract函數(shù)選定日期的年部分,然后-1,在連接上月就行了
1) 取出系統(tǒng)日期的年部分: extract(year from sysdate)
2) 將取出的年部分轉(zhuǎn)換成數(shù)字類型,然后減1就是上一年了
to_number(extract(year from sysdate))-1
3)取出系統(tǒng)日期的月份不:extract(month from sysdate)
4)與之前的上一年份相連即可
select (to_number(extract(year from sysdate))-1) || '' || extract(month from sysdate) from dual;
2、使用to_char實現(xiàn)
1)將日期類型轉(zhuǎn)換為字符類型,并取出年部分to_CHAR(sysdate,'yyyy')
2)將取出的年部分轉(zhuǎn)換成數(shù)字類型,然后減1就是上一年了
to_number( to_CHAR(sysdate,'yyyy'))-1
3)將日期類型轉(zhuǎn)換為字符類型,并取出月部分to_CHAR(sysdate,'MM')
4)與之前的年部分相連即可
select (to_number( to_CHAR(sysdate,'yyyy'))-1) || '-' || to_CHAR(sysdate,'MM') FROM DUAL;
需要當(dāng)前時間減去365天,以下是步驟:
oracle?兩個時間相減默認(rèn)的是天數(shù)
oracle 兩個時間相減默認(rèn)的是天數(shù)*24 為相差的小時數(shù)
oracle 兩個時間相減默認(rèn)的是天數(shù)*24*60 為相差的分鐘數(shù)
oracle 兩個時間相減默認(rèn)的是天數(shù)*24*60*60 為相差的秒數(shù)
--MONTHS_BETWEEN(date2,date1)?
給出date2-date1的月份?
SQL select months_between('19-12月-1999','19-3月-1999') mon_between from dual;?
MON_BETWEEN?
-----------?
9?
SQLselect
months_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.dd'))
mon_betw from dual;?
MON_BETW?
---------?
-60?
Oracle計算時間差表達式?
--獲取兩時間的相差豪秒數(shù)?
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-
30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) 相差豪秒數(shù) FROM DUAL;?
/*
oracle中有一個月份處理函數(shù)
add_months(date,int) 返回一個date型
add_months(to_date(MONTH,'yyyymm'),INTERVAL)
如果需要返回MONTH一致的格式
to_char(add_months(to_date(MONTH,'yyyymm'),INTERVAL),'yyyymm')