加法
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函式,如果你想使用這面的函式,就需要這...