oracle 時間加減綜合
oracle 時間加減綜合
加法
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秒
日期與日期之間不能相加
日期與數字就可相加
SQL> select sysdate+1 from dual;
日期與日期可以相減
SQL> select sysdate-sysdate from dual;
Add_Months(D,X)
返回D日期加上X個月后的日期
Last_Day(D)
返回包含日期D的月份的最后一天的日期
add_months(sysdate,1)加一個月
add_months(sysdate,-1)減一個月
sysdate+1 加一天
-------------------------------------------------------------------------------
Months_Between(D1,D2)
返回D1、D2之間的月份數目
New_Time(D,Z1,Z2)
返回時區Z1里時間為D時Z2時區的時間
Next_Day(D,S)
返回滿足條件S的下一天
S為星期幾
Round(D,F)
日期D按照格式F進行舍入
Sysdate
返回數據庫當前時間
Trunc(D,F)
按照格式F截斷時間D
另外:日期可以直接加減
如:sysdate +1,sysdate -1
------------------------------------------------------------
sysdate+1 加一天
sysdate+1/24 加1小時
sysdate+1/(24*60) 加1分鐘
sysdate+1/(24*60*60) 加1秒鐘
Ref:http://elvishehai.iteye.com/blog/1153601
加法
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秒
日期與日期之間不能相加
日期與數字就可相加
SQL> select sysdate+1 from dual;
日期與日期可以相減
SQL> select sysdate-sysdate from dual;
Add_Months(D,X)
返回D日期加上X個月后的日期
Last_Day(D)
返回包含日期D的月份的最后一天的日期
add_months(sysdate,1)加一個月
add_months(sysdate,-1)減一個月
sysdate+1 加一天
-------------------------------------------------------------------------------
Months_Between(D1,D2)
返回D1、D2之間的月份數目
New_Time(D,Z1,Z2)
返回時區Z1里時間為D時Z2時區的時間
Next_Day(D,S)
返回滿足條件S的下一天
S為星期幾
Round(D,F)
日期D按照格式F進行舍入
Sysdate
返回數據庫當前時間
Trunc(D,F)
按照格式F截斷時間D
另外:日期可以直接加減
如:sysdate +1,sysdate -1
------------------------------------------------------------
sysdate+1 加一天
sysdate+1/24 加1小時
sysdate+1/(24*60) 加1分鐘
sysdate+1/(24*60*60) 加1秒鐘
Ref:http://elvishehai.iteye.com/blog/1153601
posted on 2012-10-17 14:45 游雯 閱讀(289) 評論(0) 編輯 收藏 所屬分類: Java技術