-- start
我們都知道數字可以進行加、減、乘、除等運算。那麼,日期可不可以呢?答案是,日期只能進行加、減運算。
在開始操作日期之前,我們先了解一下 oracle 支援哪些日期資料型別,如下所示:
[sql]view plain
copy
date
timestamp
timestamp with time zone
timestamp with local time zone
interval day to second
interval year to month
下面,我們先看乙個簡單的例子吧,如下所示:
[sql]view plain
copy
select sysdate + interval '1' day, sysdate - interval '2' day from dual;
select systimestamp + interval '1' day, systimestamp - interval '2' day from dual;
如上所示,我們可以通過給日期加減乙個時間間隔來計算日期,下面是更多的例子。
[sql]view plain
copy
日期+ 1 年 sysdate + interval '1' year
日期+ 1 月 sysdate + interval '1' month
日期+ 1 日 sysdate + interval '1' day
日期+ 1 時 sysdate + interval '1' hour
日期+ 1 分 sysdate + interval '1' minute
日期+ 1 秒 sysdate + interval '1' second
日期+ 1 日1 時1 分 sysdate + interval '1 1:1' day to minute
如果計算的是 date 型別,我們還可以採用如下的方式。
[sql]view plain
copy
date+ 1 日 sysdate + 1
date+ 1 時 sysdate + 1/(1*24)
date+ 1 分 sysdate + 1/(1*24*60)
date+ 1 秒 sysdate + 1/(1*24*60*60)
date+ 1 日1 時1 分 sysdate + 1 + 1/(1*24) + 1/(1*24*60)
有時候,我們需要知道兩個日期之間相隔多少天,也就是說求日期之間的時間間隔,該怎麼辦呢?我們很自然的想到把兩個日期相減,如下所示:
[sql]view plain
copy
select (date '2015-04-10' - date '2014-03-11') from dual
select (date '2015-04-10' - date '2014-03-11') year to month from dual
select (date '2015-04-10' - date '2014-03-11') day(3) to second from dual
select (timestamp '2015-04-10 14:52:19.000' - timestamp '2014-03-11 13:55:29.000') from dual
select (timestamp '2015-04-10 14:52:19.000' - timestamp '2014-03-11 13:55:29.000') year to month from dual
select (timestamp '2015-04-10 14:52:19.000' - timestamp '2014-03-11 13:55:29.000') day(3) to second from dual
一旦得到了時間間隔,我們就可以通過 extract 函式抽出時間間隔的組成部分。
[sql]view plain
copy
select extract(year from (date '2015-04-10' - date '2014-03-11') year to month) from dual
select extract(month from (date '2015-04-10' - date '2014-03-11') year to month) from dual
select extract(day from (date '2015-04-10' - date '2014-03-11') day(3) to second) from dual
我們還可以抽出以下部分。
[sql]view plain
copy
year
month
day
hour
minute
second
timezone_hour
timezone_minute
timezone_region
timezone_abbr
-- last edited on 2015-06-19
-- created by shangbo on 2015-03-10
-- end
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 hh...
Python日期加減運算
python中的time與datetime基本是你中有我,我中有你的關係,有時只想操作一部分反而不那麼方便。在碼 的過程中,需要從某個日期往前或者往後推移,手動計算又要考慮跨月份的問題。經過閱讀python官方文件,找到了日期加減推移運算的方法。乙個日期可以和乙個日期增量相加減。那麼,推算日期 時間...
ORACLE 日期加減操作
無論是date還是timestamp都可以進行加減操作。可以對當前日期加年 月 日 時 分 秒,操作不同的時間型別,有三種方法 1 使用內建函式numtodsinterval增加小時,分鐘和秒 2 加乙個簡單的數來增加天 3 使用內建函式add months來增加年和月 例 對當前日期增加乙個小時 ...