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

1.CURRENT DATE获取当前日期;CURRENT TIME获取当前时间;CURRENT TIMESTAMP获取当前时间戳(含年、月、日、时、分、秒);YEAR()获取年;MONTH()获取月;DAY()获取日; HOUR()获取小时;MINUTE()获取分钟;SECOND()获取秒;DATE()获取日期;TIME()获取时间;TIMESTAMP()获取时间戳。
以上函数参数可以是日期时间类型,也可以为日期时间格式的字符串。

--获取日期:
VALUES DATE(CURRENT TIMESTAMP);--2016/1/6
VALUES CURRENT DATE;--2016/1/6 --获取时间
VALUES TIME(CURRENT TIMESTAMP);--16:40:40
VALUES CURRENT TIME;--16:40:40 --获取时间戳
VALUES TIMESTAMP(CURRENT TIMESTAMP);--2016/1/6 16:40:40
VALUES CURRENT TIMESTAMP;--2016/1/6 16:40:40
VALUES sysdate;--2016/1/6 16:40:40 --获取当前年份
values year(current timestamp);-- --获取当前月
values month(current timestamp);-- --获取当前日
values day(current timestamp);-- --获取当前时
values hour(current timestamp);-- --获取分钟
values minute(current timestamp);-- --获取秒
values second(current timestamp);-- --获取毫秒
values microsecond(current timestamp); --

2、DB2时间可以直接加减带单位的时间长度。

VALUES TIMESTAMP('2016-1-06 12:18:12')+1 YEAR;--2017/1/6 12:18:12
VALUES TIMESTAMP('2016-1-06 12:18:12')+1 MONTH;--2016/2/6 12:18:12
VALUES TIMESTAMP('2016-1-06 12:18:12')+1 DAY;--2016/1/7 12:18:12
VALUES TIMESTAMP('2016-1-06 12:18:12')+1 HOUR;--2016/1/6 13:18:12
VALUES TIMESTAMP('2016-1-06 12:18:12')+1 MINUTE;--2016/1/6 12:19:12
VALUES TIMESTAMP('2016-1-06 12:18:12')+1 SECOND;--2016/1/6 12:18:13
VALUES TIMESTAMP('2016-1-06 12:18:12')+1 YEAR+1 MONTH+1 DAY+1 HOUR+1 MINUTE +1 SECOND ;--2017/2/7 13:19:13
VALUES TIMESTAMP('2016-1-06 12:18:12')-1 YEAR-1 MONTH-1 DAY-1 HOUR-1 MINUTE -1 SECOND ;--2014/12/5 11:17:11

3、通过days()可以获取两个时间相差天数。

VALUES DAYS(CURRENT DATE)-DAYS(CURRENT DATE-1000 DAY);--1000 

4、通函数可以获取时间对应的周(月)。

--DAYNAME()返回指定日期的星期名,该星期名是由首字符大写、其他字符小写组成的英文名。
values DAYNAME(current timestamp);--Wednesday(当天为星期五) --DAYOFWEEK()返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。
values DAYOFWEEK(current timestamp);--4(当天为星期三) --DAYOFWEEK_ISO()返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。
values DAYOFWEEK_ISO(current timestamp);--3(当前为星期三) --DAYOFYEAR()返回参数中一年中的第几天,用范围在 1-366 的整数值表示。
values DAYOFYEAR(current timestamp);-- --MONTHNAME()对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January)。
values MONTHNAME(CURRENT TIMESTAMP);--January(当前为一月) --WEEK()返回参数中一年的第几周,用范围在 1-54 的整数值表示。以星期日作为一周的开始。(参数可以为日期格式或者日期格式的字符串)
VALUES WEEK('2016-01-02');--
VALUES WEEK('2016-01-03');-- --WEEK_ISO()返回参数中一年的第几周,用范围在 1-54 的整数值表示。以星期一作为一周的开始。(参数可以为日期格式或者日期格式的字符串)
VALUES WEEK_ISO('2016-01-02');--
VALUES WEEK_ISO('2016-01-03');--
VALUES WEEK_ISO('2016-01-04');--

5、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('2016-01-06 12:23:24')-TIMESTAMP('2016-01-06 12:20:24'))); --180秒
VALUES TIMESTAMPDIFF(4,CHAR(TIMESTAMP('2016-01-06 12:23:24')-TIMESTAMP('2016-01-06 10:20:22'))); --123分钟
VALUES TIMESTAMPDIFF(8,CHAR(TIMESTAMP('2016-01-06 12:23:24')-TIMESTAMP('2016-01-06 10:20:22'))); --2小时
VALUES TIMESTAMPDIFF(16,CHAR(TIMESTAMP('2016-01-07 12:23:24')-TIMESTAMP('2016-01-06 15:20:22'))); --0天
VALUES TIMESTAMPDIFF(16,CHAR(TIMESTAMP('2016-01-07 12:23:24')-TIMESTAMP('2016-01-06 10:20:22'))); --1天
VALUES TIMESTAMPDIFF(32,CHAR(TIMESTAMP('2016-03-06 12:23:24')-TIMESTAMP('2016-01-06 10:20:22'))); --8周
VALUES TIMESTAMPDIFF(64,CHAR(TIMESTAMP('2016-03-06 12:23:24')-TIMESTAMP('2016-01-06 10:20:22'))); --2月
VALUES TIMESTAMPDIFF(128,CHAR(TIMESTAMP('2016-05-06 10:20:22')-TIMESTAMP('2016-02-06 10:20:22'))); --1季度
VALUES TIMESTAMPDIFF(256,CHAR(TIMESTAMP('2017-01-06 10:20:22')-TIMESTAMP('2016-01-06 10:20:22'))); --1年

DB2日期和时间函数汇总的更多相关文章

  1. MySQL日期和时间函数汇总

    本文基于MySQL8.0 本文介绍MySQL关于日期和时间操作的函数. 日期和时间函数 函数 描述 ADDDATE() 给日期值添加时间值 ADDTIME() 添加time CONVERT_TZ() ...

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

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

  3. Sql Server函数全解(四)日期和时间函数

      日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外,也可以使用datetime类型的参数,但会忽略这些值的时间部分.相同 ...

  4. MySQL数据库9 - 日期与时间函数

    一 日期和时间函数 函数的概念:按指定格式输入参数,返回正确结果的运算单元 1. 返回当前日期:curdate() current_date() current_date()+0可以将当前日期转换为数 ...

  5. sqlserver常用日期、时间函数和格式

    Sql Server中常用的日期与时间函数1.  当前系统日期.时间    select getdate() 2. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值  ...

  6. 20101102--SQL字符串函数 ,日期和时间函数

    --------------------字符串函数------------------------- --ASCII 返回字符串的首字母的ASCII编码 select ASCII('w') selec ...

  7. Sql Server函数全解<四>日期和时间函数

    原文:Sql Server函数全解<四>日期和时间函数   日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外, ...

  8. MySQL 笔记 —— 日期和时间函数

    [TOC] 获取当前日期的函数和获取当前时间的函数 CURDATE()和CURRENT_DATE()函数获取当前日期:CURTIME()和CURRENT_TIME()函数获取当前时间. mysql&g ...

  9. MySQL数据库—日期与时间函数

    一. 日期和时间函数 函数的概念:按指定格式输入参数,返回正确结果的运算单元 1. 返回当前日期:curdate() current_date() current_date()+0可以将当前日期转换为 ...

随机推荐

  1. 字符设备 register_chrdev_region()、alloc_chrdev_region() 和 register_chrdev()

    1. 字符设备结构体 内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里.该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下: static ...

  2. GetKeyState和GetAsyncKeyState以及GetKeyboardState函数的用法与区别2-------C#检查键盘大小写锁定状态

    1.命名空间:using System.Runtime.InteropServices;2.导入方法[DllImport("user32.dll", EntryPoint = &q ...

  3. yeoman开始项目

    使用 yeoman 构建项目之前,你需要安装这两个环境:node,ruby. 为什么需要使用node?因为我们需要使用grunt自动化工具,而grunt工具则是依赖node. 为什么需要使用ruby? ...

  4. uva1638Pole Arrangement

    递推. 用f[n][l][r]表示n个柱子,从左面能看到l个,从右面能看到r个. 如果我们按照从小到大的顺序放置的话,放置最高的柱子后,大量状态都能递推到当前状态,很难写出递推式. 但是我们如果从小到 ...

  5. jquery live hover绑定方法

    $(".select_item span").live({ mouseenter: function() { $(this).addClass("hover") ...

  6. linux的HugePage与oracle amm关系

     如果Oracle 是11g以后的版本,那么默认创建的实例会使用Automatic Memory Management (AMM)的特性,该特性与HugePage不兼容. 在设置HugePage之前需 ...

  7. android-async-http

    安装 http://blog.csdn.net/wangwei_cq/article/details/9453345 包内的一些基本的参数 http://www.cnblogs.com/manuose ...

  8. (转)Linux上的Shebang符号(#!)

    https://linux.cn/article-3664-1.html 本文了将给你简单介绍一下Shebang(”#!”)这个符号. 首先,这个符号(#!)的名称,叫做”Shebang”或者”Sha ...

  9. 庖丁解牛-----Live555源码彻底解密(RTP打包)

    本文主要讲解live555的服务端RTP打包流程,根据MediaServer讲解RTP的打包流程,所以大家看这篇文章时,先看看下面这个链接的内容; 庖丁解牛-----Live555源码彻底解密(根据M ...

  10. DataGuard相同SID物理Standby搭建

    Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数据不受 ...