oracle 查詢日期

2021-08-31 17:23:26 字數 1602 閱讀 4658

--查詢乙個季度的第一天

select trunc(sysdate,'q') from dual

--查詢乙個季度的最後一天

select add_months(trunc(to_date('2010-02-01','yyyy-mm-dd'),'q'),3)-1 from dual

--查詢當前日期以前3個小時的資料

select sysdate-interval'7'hour from dual

有兩個日期資料start_date,end_date,欲得到這兩個日期的時間差(以天,小時,分鐘,秒,毫秒):

天:

round(to_number(end_date - start_date))

小時:

round(to_number(end_date - start_date) * 24)

分鐘:

round(to_number(end_date - start_date) * 24 * 60)

秒:

round(to_number(end_date - start_date) * 24 * 60 * 60)

毫秒:

round(to_number(end_date - start_date) * 24 * 60 * 60 * 60)

--天的間隔

select floor(sysdate - to_date('20110805', 'yyyymmdd')) from dual;

--獲得相隔時間的相差天數

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'))) 相差天數

from dual;

--獲得相隔時間的相差小時數

select ceil((to_date('2008-06-02 10:00:00', 'yyyy-mm-dd hh24-mi-ss') -

to_date('2008-04-30 23:59:59', 'yyyy-mm-dd hh24-mi-ss')) * 24) 相差小時數

from dual;

--獲得相隔時間的相差分鐘數

select ceil(((to_date('2008-05-12 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) 相差分鐘數

from dual;

--獲得相隔時間的相差秒數

select ceil((to_date('2011-08-16 14:03:20', 'yyyy-mm-dd hh24-mi-ss') -

to_date('2011-08-16 11:00:20', 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60) 相差秒數

from dual;

oracle 日期查詢

1.string hql select substr to char create time,yyyy mm dd hh24 mm ss 1,10 count createtime from sitebean where to char createtime,yyyy mm dd to char t...

Oracle 日期查詢

例如 select from c where cdate to date 2010 10 14 14 00 00 yyyy mm dd hh24 mi ss select from mytable where to char install date,yyyymmdd 20050101 select...

Oracle日期區間查詢

有個需求 在表中查詢 2020年1月至今的所有的資料 但是提供的年份和月份是兩個字段 這裡使用 即可拼接 select distinct wa data.year wa data.month,wa data.month from wa data where wa data.year wa data....