ql 中的sysdate使用

2022-10-04 03:39:08 字數 3560 閱讀 7815

加法

select sysdate,add_months(sysdate,12) from dual; --加1年

select sysdate,add_months(sysdate,1) from dual; --加1月

select sysdate,to_char(sysdate+7,'yyyy-mm-dd hh24:mi:ss') from dual; --加1星期

select sysdate,to_char(sysdate+1,'yyyy-mm-dd hh24:mi:ss') from dual; --加1天

select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd hh24:mi:ss') from dual; --加1小時

select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd hh24:mi:ss') from dual; --加1分鐘

select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd hh24:mi:ss') from dual; --加1秒

減法select sysdate,add_months(sysdate,-12) from dual; --減1年

select sysdate,add_months(sysdate,-1) from dual; --減1月

select sysdate,to_char(sysdate-7,'yyyy-mm-dd hh24:mi:ss') from dual; --減1星期

select sysdate,to_char(sysdate-1,'yyyy-mm-dd hh24:mi:ss') from dual; --減1天

select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd hh24:mi:ss') from dual; --減1小時

select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd hh24:mi:ss') from dual; --減1分鐘

select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd hh24:mi:ss') from dual; --減1秒

oracle時間函式(sysdate)簡析

1:取得當前日期是本月的第幾周

sql> select to_char(sysdate,'yyyymmdd w hh24:mi:ss') from dual;

to_char(sysdate,'yy

-------------------

20030327 4 18:16:09

sql> select to_char(sysdate,'w') from dual;t-

42:取得當前日期是乙個星期中的第幾天,注意星期日是第一天

sql> select sysdate,to_char(sysdate,'d') from dual;

sysdate t

--------- -

27-mar-03 5

類似:select to_char(sysdate,'yyyy') from dual; --年

select to_char(sysdate,'q' from dual; --季

select to_char(sysdate,'mm') from dual; --月

select to_char(sysdate,'dd') from dual; --日

ddd 年中的第幾天

ww 年中的第幾個星期

w 該月中第幾個星期

d 週中的星期幾

hh 小時(12)

hh24 小時(24)

mi 分

ss 秒

3:取當前日期是星期幾中文顯示:

sql> select to_char(sysdate,'day') from dual;

to_char(sysdate,'day')

----------------------

星期四4:如果乙個表在乙個date型別的字段上面建立了索引,如何使用

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'

5: 得到當前的日期

select sysdate from dual;

6: 得到當天凌晨0點0分0秒的日期

select trunc(sysdate) from dual;

-- 得到這天的最後一秒

select trunc(sysdate) + 0.99999 from dual;

-- 得到小時的具體數值

select trunc(sysdate) + 1/24 from dual;

select trunc(sysdate) + 7/24 from dual;

7.得到明天凌晨0點0分0秒的日期

select trunc(sysdate+1) from dual;

select trunc(sysdate)+1 from dual;

8: 本月一日的日期

select trunc(sysdate,'mm') from dual;

9:得到下月一日的日期

select trunc(add_months(sysdate,1),'mm') from dual;

10:返回當前月的最後一天?

select last_day(sysdate) from dual;

select last_day(trunc(sysdate)) from dual;

select trunc(last_day(sysdate)) from dual;

select trunc(add_months(sysdate,1),'mm') - 1 from dual;

11: 得到一年的每一天

select trunc(sysdate,'yyyy')+ rn -1 date0

from

(select rownum rn from all_objects

where rownum<366);

12:今天是今年的第n天

select to_char(sysdate,'ddd') from dual;

13:如何在給現有的日期加上2年

select add_months(sysdate,24) from dual;

14:判斷某一日子所在年分是否為潤年

select decode(to_char(last_day(trunc(sysdate,'y')+31),'dd'),'29','閏年','平年') from dual;

15:判斷兩年後是否為潤年

select decode(to_char(last_day(trunc(add_months(sysdate,24),'y')+31),'dd'),'29','閏年','平年') from dual;

16:得到日期的季度

select ceil(to_number(to_char(sysdate,'mm'))/3) from dual;

select to_char(sysdate, 'q') from dual;

如何診斷rac環境sysdate 返回的時間錯誤

最近處理了若干rac環境訪問sysdate錯誤的時間返回。而這個問題通常是乙個資料庫鏈結是由現在listener建立的情況下。並且。大部分情況下都是和時區設定相關的。在這篇文章中我們會針對怎樣診斷這樣的問題進行解釋。這篇文章適用於版本號11.2.0.2 及以上版本號。首先,對問題其中涉及到的知識進行...

shell 中if的使用

shell中if做比較 shell判斷陣列中是否包含某個元素 ary 1 2 3 a 2if a then echo a in ary else echo a not in ary fi比較兩個字串是否相等的辦法是 if test x test x then 這裡的關鍵有幾點 1 使用單個等號 2 ...

C 中 的使用

c 中的方括號可用於陣列,索引,屬性,更重要的是可以用於外部dll類庫的引用。c 實現.net元件與com元件的互操作 dllimport kernel32.dll 這叫引入kernel32.dll這個動態連線庫。這個動態連線庫裡面包含了很多windowsapi函式,如果你想使用這面的函式,就需要這...