這篇文章為大家帶來了關於Oracle的相關知識,其中主要介紹了一些常用的日期函數相關問題,包括了SYSDATE、ADD_MONTHS、LAST_DAY、TRUNC、ROUND等等,希望對大家有幫助。
推薦教學:《Oracle教學》
此函數沒有參數,可以得到系統的目前時間。
案例代碼:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
結果:
此函數沒有參數,可以得到系統的目前時間,該時間包含時區信息,精確到微秒。
案例代碼
select systimestamp from dual;
結果:
select dbtimezone from dual;結果: # 給日期加上指定的月份函數:
select to_char(add_months(to_date('2018-11-12', 'yyyy-mm-dd'), 1), 'yyyy-mm-dd'), to_char(add_months(to_date('2018-10-31', 'yyyy-mm-dd'), 1), 'yyyy-mm-dd'), to_char(add_months(to_date('2018-09-30', 'yyyy-mm-dd'), 1), 'yyyy-mm-dd') from dual;結果:(如果指定的日期是月份的最後一天,則返回的也是新的月份的最後一天,如果新的月份比指定的月份日期少,將會自動調回有效日期) #月份最後一天函數
##傳回指定r日期的目前月份的最後一天日期。
案例代碼:
select last_day(sysdate) from dual;
結果:
# 指定日期後一週的日期函數:
傳回指定R日期的後一週的與r日期字元(c:表示星期幾)對應的日期。
案例程式碼:
select next_day(to_date('2018-11-12','yyyy-mm-dd'),'星期四') from dual;
結果:
傳回指定time時間當中的年、月、日、分等日期部分。
案例代碼:
select extract(year from timestamp '2018-11-12 15:36:01') as year, extract(month from timestamp '2018-11-12 15:36:01') as month, extract(day from timestamp '2018-11-12 15:36:01') as day, extract(minute from timestamp '2018-11-12 15:36:01') as minute, extract(second from timestamp '2018-11-12 15:36:01') as second from dual;
結果:
# 傳回兩個日期間的月份數:
此函數傳回r1日期和r2日期直接的月份。當r1>r2時,回傳的是正數,假如r1和r2是不同月的同一天,則回傳的是整數,否則回傳的小數。當r1 案例代碼: 結果: Oracle學習教學》 以上是總結分享Oracle日期函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!select months_between(to_date('2018-11-12', 'yyyy-mm-dd'),
to_date('2017-11-12', 'yyyy-mm-dd')) as zs, --整数
months_between(to_date('2018-11-12', 'yyyy-mm-dd'),
to_date('2017-10-11', 'yyyy-mm-dd')) as xs, --小数
months_between(to_date('2017-11-12', 'yyyy-mm-dd'),
to_date('2018-10-12', 'yyyy-mm-dd')) as fs --负数
from dual;
#日期截取函數
##ROUND(r[, f])函數
將日期r以f的格式進行四捨五入。如果f不填,則四捨五入到最近的一天。 案例代碼:
select sysdate, --当前时间
round(sysdate, 'yyyy') as year, --按年
round(sysdate, 'mm') as month, --按月
round(sysdate, 'dd') as day, --按天
round(sysdate) as mr_day, --默认不填按天
round(sysdate, 'hh24') as hour --按小时
from dual;
結果:
#TRUNC(r[,f])函數
將日期r按f的格式進行截取。如果f不填,則截取到目前的日期。 案例代碼:
select sysdate, --当前时间
trunc(sysdate, 'yyyy') as year, --按年
trunc(sysdate, 'mm') as month, --按月
trunc(sysdate, 'dd') as day, --按天
trunc(sysdate) as mr_day, --默认不填按天
trunc(sysdate, 'hh24') as hour --按小时
from dual;
結果:
#推薦教學:《