db2日期和時間常用彙總

2022-04-09 03:10:23 字數 4970 閱讀 7396

db2日期和時間常用彙總

1、db2可以通過sysibm.sysdummy1、sysibm.dual獲取暫存器中的值,也可以通過values關鍵字獲取暫存器中的值。

select 'hello db2' from sysibm.sysdummy1;--hello db2

select 'hello db2' from sysibm.dual;--hello db2

values 'hello db2';--hello db2

2、current date獲取當前日期;current time獲取當前時間;current timestamp獲取當前時間戳(含年、月、日、時、分、秒)。

values current date--2012/5/25 0:00:00;

values current time--20:48:53;

values current timestamp--2012/5/25 20:49:12;

3、year()獲取年;month()獲取月;day()獲取日;

hour()獲取小時;minute()獲取分鐘;second()獲取秒;

date()獲取日期;time()獲取時間;timestamp()獲取時間戳。

以上函式引數可以是日期時間型別,也可以為日期時間格式的字串。  

values year(current timestamp);/*2012*/  values year('2012-05-25 21:18:12');/*2012*/

values month(current timestamp);/*5*/  values month('2012-05-25 21:18:12');/*5*/ 

values day(current timestamp);/*25*/  values day('2012-05-25 21:18:12');/*25*/

values hour(current timestamp);/*21*/  values hour('2012-05-25 21:18:12');/*21*/

values minute(current timestamp);/*18*/  values minute('2012-05-25 21:18:12');/*18*/

values second(current timestamp);/*12*/   values second('2012-05-25 21:18:12');/*12*/

values date(current timestamp);/*2012/5/25 0:00:00*/  values date('2012-05-25 21:18:12');/*2012/5/25 0:00:00*/

values time(current timestamp);/*21:18:12*/  values time('2012-05-25 21:18:12');/*21:18:12*/

values timestamp(current timestamp);/*2012/5/25 21:18:12*/  values timestamp('2012-05-25 21:18:12');/*2012/5/25 21:18:12*/

4、db2時間可以直接加減帶單位的時間長度。  

values timestamp('2012-5-25 21:18:12')+1 year;--2013/5/25 21:18:12

values timestamp('2012-5-25 21:18:12')+1 month;--2012/6/25 21:18:12

values timestamp('2012-5-25 21:18:12')+1 day;--2012/5/26 21:18:12

values timestamp('2012-5-25 21:18:12')+1 hour;--2012/5/25 22:18:12

values timestamp('2012-5-25 21:18:12')+1 minute;--2012/5/25 21:19:12

values timestamp('2012-5-25 21:18:12')+1 second;--2012/5/25 21:18:13

values timestamp('2012-5-25 21:18:12')+1 year+1 month+1 day+1 hour+1 minute +1 second ;--2013/6/26 22:19:13

values timestamp('2012-5-25 21:18:12')-1 year-1 month-1 day-1 hour-1 minute -1 second ;--2011/4/24 20:17:11

5、通過days()可以獲取兩個時間相差天數。

values days(current date)-days(current date-1000 day);--1000 

6、to_char()把時間轉換成指定格式的字串型別(db2較低版本不支援)。

「yyyy-mm-dd hh:mi:ss」 十二小時制;「yyyy-mm-dd hh24:mi:ss」 二十四小時制。

(「yyyy-mm-dd hh:mm:ss」不會報錯,但是mm值取的是月的值。)

select to_char(timestamp('2012-5-25 21:18:12'),'yyyy-mm-dd') from sysibm.dual;--2012-05-25

select to_char(timestamp('2012-5-25 21:18:12'),'yyyy-mm-dd hh:mi:ss') from sysibm.dual;--2012-05-25 09:18:12

select to_char(timestamp('2012-5-25 21:18:12'),'yyyy-mm-dd hh24:mi:ss') from sysibm.dual;--2012-05-25 21:18:12

(select to_char(timestamp('2012-5-25 21:18:12'),'yyyy-mm-dd hh24:mm:ss') from sysibm.dual;--2012-05-25 21:05:12)

7、dayname()返回指定日期的星期名,該星期名是由首字元大寫、其他字元小寫組成的英文名。

values dayname(current timestamp)--friday(當天為星期五)

8、dayofweek()返回引數中的星期幾,用範圍在 1-7 的整數值表示,其中 1 代表星期日。

values dayofweek(current timestamp);--6(當天為星期五)

9、dayofweek_iso()返回引數中的星期幾,用範圍在 1-7 的整數值表示,其中 1 代表星期一。

values dayofweek_iso(current timestamp);--5(當前為星期五)

10、dayofyear()返回引數中一年中的第幾天,用範圍在 1-366 的整數值表示。

values dayofyear(date('2012-02-01'));--32

11、monthname()對於引數的月部分的月份,返回乙個大小寫混合的字串(例如,january)。

values monthname(current timestamp);--may(當前為五月)

12、week()返回引數中一年的第幾周,用範圍在 1-54 的整數值表示。以星期日作為一周的開始。(引數可以為日期格式或者日期格式的字串)

values week('2012-05-25')--21

13、timestampdiff(n,char(timestamp('2012-05-25 10:23:24')-timestamp('2012-05-25 10:20:24')))根據兩個時間戳記之間的時差,返回由第乙個引數定義的型別表示的估計時差。(整除部分,不會四捨五入)

n=2:秒 ; n=4 :分; n=8:時;

n=16 :天; n=32 :周;n=64:月;

n=128 :季度; n=256:年;  

values timestampdiff(2,char(timestamp('2012-05-25 10:23:24')-timestamp('2012-05-25 10:20:24')));--180秒

values timestampdiff(4,char(timestamp('2012-05-25 12:23:24')-timestamp('2012-05-25 10:20:22')));--123分鐘

values timestampdiff(8,char(timestamp('2012-05-25 12:23:24')-timestamp('2012-05-25 10:20:22')));--2小時

values timestampdiff(16,char(timestamp('2012-07-25 12:23:24')-timestamp('2012-05-25 10:20:22')));--60天

values timestampdiff(32,char(timestamp('2012-07-25 12:23:24')-timestamp('2012-05-25 10:20:22')));--8周

values timestampdiff(64,char(timestamp('2012-07-25 12:23:24')-timestamp('2012-05-25 10:20:22')));--2月

values timestampdiff(128,char(timestamp('2012-08-25 10:20:22')-timestamp('2012-05-25 10:20:22')));--1季度

values timestampdiff(256,char(timestamp('2013-05-25 10:20:22')-timestamp('2012-05-25 10:20:22')));--1年

14、時期的格式。iso,使用國際標準組織(iso)制訂的日期和時間格式;usa,使用美國日期和時間的 ibm 標準格式。

values char(current date,iso)--2012-05-25

values char(current date,usa)--05/25/2012

values char(current time,iso)--23.21.32

db2日期和時間常用彙總

1 db2可以通過sysibm.sysdummy1 sysibm.dual獲取暫存器中的值,也可以通過values關鍵字獲取暫存器中的值。select hello db2 from sysibm.sysdummy1 hello db2 select hello db2 from sysibm.dua...

DB2 日期時間函式

select current date from sysibm.sysdummy1 select current time from sysibm.sysdummy1 select current timestamp from sysibm.sysdummy1 sysibm.sysdummy1 表是...

DB2 日期時間函式

select current date from sysibm.sysdummy1 select current time from sysibm.sysdummy1 select current timestamp from sysibm.sysdummy1 sysibm.sysdummy1 表是...