1、DB2中日期、时间寄存器的使用

--取日期
SELECT CURRENT DATE FROM sysibm.sysdummy1;

--返回数据类型:DATE

--结果集(YYYY-MM-DD): 2013-12-11

--取时间
SELECT CURRENT TIME FROM sysibm.sysdummy1;

--返回数据类型:TIME

--结果集(HH-MM-SS): 21:06:53

--取时间戳记
SELECT CURRENT TIMESTAMP FROM sysibm.sysdummy1;

--返回数据类型:TIMESTAMP

--结果集(YYYY-MM-DD HH-MM-SS XXXXXX): 2013-12-11-21.08.16.000072

说明:

      sysibm.sysdummy1表是一个特殊的内存中的表,专门用于存储系统日期和时间。

      推荐大家使用 VALUES 函数直接来进行操作。

      以上的语句可以改写为:

           --取日期 VALUES CURRENT DATE;

           --取时间 VALUES CURRENT TIME;

           --取时间戳记 VALUES CURRENT TIMESTAMP;

2、DB2中日期时间的常用函数

--取年份 VALUES YEAR(CURRENT TIMESTAMP);

--返回值:2013

--取月份 VALUES MONTH(CURRENT TIMESTAMP);

--返回值:12

--取天 VALUES DAY(CURRENT TIMESTAMP);

--返回值:11

--取星期 VALUES DAYOFWEEK(CURRENT TIMESTAMP);

--返回值:4

--说明:取值范围为1-7,1代表星期日,所以今天是星期三,得出的值为4!

--取星期 VALUES DAYNAME(CURRENT TIMESTAMP);

--返回值:星期三

--取小时 VALUES HOUR(CURRENT TIMESTAMP);

--返回值:21

--取分钟 VALUES MINUTE(CURRENT TIMESTAMP);

--返回值:15

--取秒 VALUES SECOND(CURRENT TIMESTAMP);

--返回值:25

--取毫秒 VALUES MICROSECOND(CURRENT TIMESTAMP);

--返回值:454287

说明:以上函数可以直接供大家在存储过程以及自定义函数或者触发器中直接调用,所有返回类型均为 INTEGER

--取日期 VALUES DATE(CURRENT TIMESTAMP);

--返回数据类型:DATE

--返回值:2013-12-11

--取时间 VALUES TIME(CURRENT TIMESTAMP);

--返回数据类型:TIME --返回值:21:14:34

3、DB2中日期、时间的计算

--取明年的今天 VALUES CURRENT DATE + 1 YEAR;

--返回值:2014-12-11

--取前年的今天(两种写法都合法) VALUES CURRENT DATE - 2 YEAR;VALUES CURRENT DATE - 2 YEARS;

--返回值:2011-12-11

--取下一个小时后的时间 VALUES CURRENT TIME + 1 HOUR;

--返回值:22:22:45

--混合应用的示例1: VALUES CURRENT DATE + 2 YEARS - 1 MONTH + 20 DAYS; --返回值:2015-12-01(笔者的当前日期为:2013-12-11,大家可以自己计算一下)

--混合应用的示例2: VALUES CURRENT TIME + 5 HOURS - 3 MINUTES + 10 SECONDS; --返回值:02:22:51(笔者的当前时间为:21:25:41,大家可以自己计算一下)

--计算两个日期之间的间隔天数 VALUES DAYS(CURRENT DATE) - DAYS('2013-01-01'); --返回值:344

说明:DB2中日期、时间的计算非常的灵活,大家可以根据实际需求进行自己的计算

4、 DB2中日期、时间的转换

--将日期、时间类型转换为字符串型

VALUES CHAR(CURRENT DATE);

VALUES CHAR(CURRENT TIMESTAMP);

-- 将字符串型转换为日期、时间类型

VALUES TIMESTAMP (' 2012-10-17 12.00.00.000000');

VALUES TIMESTAMP (' 2012-10-17 12:00:00');

VALUES DATE (' 2012-10-17');

VALUES DATE ('10/17/2012');

--注意:该格式为(MM/DD/YYYY)

VALUES TIME ('12:00:00');

VALUES TIME ('12.00.00');

说明:在实际应用中,TIMESTAMP()、DATE() 和 TIME() 函数接受更多种格式。其他的格式有兴趣的读者可以自己去发现。

--注意:DATE(2012-10-17)和DATE(' 2012-10-17')虽然都是合法的,但是结果不同!其实DATE(2012-10-17)等价与DATE(1985),具体原因这里就不详细讲述了。

VALUES DATE(2012-10-17) --返回值:0006/6/8

VALUES DATE('2012-10-17') --返回值:2012-10-17

5、 DB2 中日期时间的其他知识

DAYNAME 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,星期四)。

DAYOFWEEK 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。

DAYOFWEEK_ISO 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。

DAYOFYEAR 返回参数中一年中的第几天,用范围在 1-366 的整数值表示。

DAYS 返回日期的整数表示。

JULIAN_DAY 返回从公元前 4712 年 1 月 1 日(儒略日历的开始日期)到参数中指定日期值之间的天数,用整数值表示。 MIDNIGHT_SECONDS 返回午夜和参数中指定的时间值之间的秒数,用范围在 0 到 86400 之间的整数值表示。

MONTHNAME 对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January)。

TIMESTAMP_ISO 根据日期、时间或时间戳记参数而返回一个时间戳记值。

TIMESTAMP_FORMAT 从已使用字符模板解释的字符串返回时间戳记。

TIMESTAMPDIFF 根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。

TO_CHAR 返回已用字符模板进行格式化的时间戳记的字符表示。

TO_CHAR 是 VARCHAR_FORMAT 的同义词。

TO_DATE 从已使用字符模板解释过的字符串返回时间戳记。

TO_DATE 是 TIMESTAMP_FORMAT 的同义词。

WEEK 返回参数中一年的第几周,用范围在 1-54 的整数值表示。以星期日作为一周的开始。

WEEK_ISO 返回参数中一年的第几周,用范围在 1-53 的整数值表示。

DB2日期及时间的使用的更多相关文章

  1. db2日期和时间常用汇总

    1.db2可以通过SYSIBM.SYSDUMMY1.SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值. SELECT 'HELLO DB2' FROM SYSIBM ...

  2. DB2日期与时间

    摘选自:http://www.cnblogs.com/wanghonghu/archive/2012/05/25/2518604.html 1.db2可以通过SYSIBM.SYSDUMMY1.SYSI ...

  3. DB2日期和时间函数汇总

    上一篇提到过在DB2中,可以通过SYSIBM.SYSDUMMY1.SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值.则在这篇中,我们直接用VALUES关键字来看看这 ...

  4. db2 日期时间格式

    db2日期和时间常用汇总 1.db2可以通过SYSIBM.SYSDUMMY1.SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值. SELECT 'HELLO DB2 ...

  5. DB2 日期时间函数

    db2日期时间函数 (DATE(TRIM(CHAR(DT#11Y))||'-'||TRIM(CHAR(DT#11M))||'-'||TRIM(CHAR(DT#11D))) BETWEEN DATE(' ...

  6. [Java]Java日期及时间库插件 -- Joda Time.

    来到新公司工作也有一个多月了, 陆陆续续做了一些简单的项目. 今天做一个新东西的时候发现了 Joda Time的这个东西, 因为以前用的都是JDK原生的时间处理API, 大家都知道Java原生的时间处 ...

  7. SharePoint 2013 日期和时间字段格式设置

    前言 最近碰到一个需求,用户希望修改日期和时间字段的格式,因为自己的环境是英文的,默认的时间格式是[月/日/年]这样的格式,我也是碰到这个问题才知道,这是美式的时间格式,然而用户希望变成英式的时间格式 ...

  8. MySQL 日期、时间转换函数

    MySQL 日期.时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式.它是 str_to ...

  9. python笔记7:日期和时间

    Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间间隔是以秒为单位的浮点小数. 每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示. 时间 ...

随机推荐

  1. Redis 在windows中启动

    redis-server.exe redis.windows.conf 或 redis-server.exe redis.conf

  2. 七个迹象说明你可能受到APT 攻击

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXF1c2hp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/d ...

  3. 关于 js 动态生成html 绑定事件失效的问题

    在实际问题中,也只到使用新版jq 的on 事件 进行动态元素的绑定: 是这样 (但是依然没有效果——): $('dom节点').on('click',function(){}) 之后经过查阅发现:正确 ...

  4. 50、Toast自定义布局

    <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...

  5. Docker学习(2Docker基本命令 )

    1.首先我们需要明确在docker中需要了解的一些基础知识 Docker虚拟化有三个概念需要理解,分别镜像.容器.仓库. 1) 镜像:docker的镜像其实就是模板,跟我们常见的ISO镜像类似,是一个 ...

  6. BZOJ 2431

    2431: [HAOI2009]逆序对数列 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 1521  Solved: 883[Submit][Statu ...

  7. 【BZOJ2064】分裂 状压DP

    [BZOJ2064]分裂 Description 背景:和久必分,分久必和...题目描述:中国历史上上分分和和次数非常多..通读中国历史的WJMZBMR表示毫无压力.同时经常搞OI的他把这个变成了一个 ...

  8. windows下在Eclipse中启动的tomcat没有乱码,单独部署到tomcat下乱码解决方案

    今天遇到了一个很奇怪的问题,在Eclipse中调试,运行项目一切正常,项目的所有编码都是统一的UTF-8.但是在单独部署到tomcat上的时候出现了中文乱码. 解决方案 第一步:确保项目,jsp页面, ...

  9. 关于angularjs的复选框选中

    最近在做复选框,业务人员要求选中一块区域里的任何一个适合,复选框呈现选中状态,然而,我的复选框是ng-repeat出来的,刚开始我想用directive指令,但是不知道为什么,我一旦设置了$(this ...

  10. IOS自动布局的Problem

    今天为做一个小小的footerView我的心脏差点气出来... 第一步 新建一个view xib文件 第二步 新建一个UIview的类 第三步 在UIview中间放一个Lable,添加约束,水平垂直居 ...