db2日期和时间常用汇总

来源:互联网 发布:js void 0 编辑:程序博客网 时间:2024/05/16 15:30

1、db2可以通过SYSIBM.SYSDUMMY1、SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值。

SELECT 'HELLO DB2' FROM SYSIBM.SYSDUMMY1;--HELLO DB2SELECT 'HELLO DB2' FROM SYSIBM.DUAL;--HELLO DB2VALUES '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:12VALUES TIMESTAMP('2012-5-25 21:18:12')+1 MONTH;--2012/6/25 21:18:12VALUES TIMESTAMP('2012-5-25 21:18:12')+1 DAY;--2012/5/26 21:18:12VALUES TIMESTAMP('2012-5-25 21:18:12')+1 HOUR;--2012/5/25 22:18:12VALUES TIMESTAMP('2012-5-25 21:18:12')+1 MINUTE;--2012/5/25 21:19:12VALUES TIMESTAMP('2012-5-25 21:18:12')+1 SECOND;--2012/5/25 21:18:13VALUES TIMESTAMP('2012-5-25 21:18:12')+1 YEAR+1 MONTH+1 DAY+1 HOUR+1 MINUTE +1 SECOND ;--2013/6/26 22:19:13VALUES 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-25SELECT TO_CHAR(TIMESTAMP('2012-5-25 21:18:12'),'YYYY-MM-DD HH:MI:SS') FROM SYSIBM.DUAL;--2012-05-25 09:18:12SELECT 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-25values char(current date,usa)--05/25/2012values char(current time,iso)--23.21.32
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 房地产项目完成后企业员工怎么办啊 韩服lol延迟太高怎么办 LOL等级奖励卡掉怎么办 魔域手机号换了怎么办 买的qq号找回了怎么办 买dnf账号被找回怎么办 微博账号已锁定怎么办 抖音账号封手机怎么办 手机号码绑定被别人占用了怎么办 DNF账号给找回了怎么办 转转上被骗了200怎么办 7彩账号被锁定怎么办 猪不吃食没精神怎么办 cf手游签到没给怎么办 cf说停止运行了怎么办 cf端游永久禁赛怎么办 cf端游爆破怕死怎么办 王者荣耀累计扣分12分怎么办 去医院看病没带身份证怎么办 ps4星战2鬼服怎么办 冒险岛英雄五转怎么办 6儿童视力低常怎么办 腰干活累的酸痛怎么办 狗狗体力很差怎么办啊 脉差总是五十多怎么办 吃过敏药嗜睡乏力怎么办 写字紧张心跳的快手抖怎么办 怀孕食欲差没精神怎么办 爬个三楼就喘了怎么办 头被篮球砸了怎么办 打球手指肿了很久怎么办 客人吃饭跑单了怎么办 脑子总是记不住东西怎么办 穿的鞋有味道怎么办 生完孩子血糖高怎么办 生了孩子子宫大怎么办 生完孩子阴吹怎么办 怀孕初期感冒嗓子发炎怎么办 脑子转不过来弯怎么办 他说我道行不深怎么办 鞋子内测磨破了怎么办