日期时间算术和比较

DATE、TIME 和 TIMESTAMP 值可以与同一类型的另一个值相比较。比较是按时间顺序的。还可以递增、递减和减去日期时间值。

如果数据存储是 DB2,那么还可以使用 DATE、TIME 和 TIMESTAMP 类型的 DB2 字符串表示法。

表 1. 日期、时间和时间戳记格式. 日期或时间的字符串表示法可以使用 ISO、USA、EUR 或 JIS 格式。时间戳记的字符串表示法使用 ISO 格式。
格式 日期格式 日期示例 时间格式 时间示例
ISO yyyy-mm-dd 1987-02-24 1987-2-24 hh.mm.ss 13.50.00 13.50
USA mm/dd/yyyy 2/24/1987 hh:mm AM 或 PM 1:50 pm 02:10 AM
EUR dd.mm.yyyy 24.02.1987 24.2.1987 hh.mm.ss 13.50.00 13.55
JIS yyyy-mm-dd 1987-02-24 hh:mm:ss 13:50 13:50:05

示例 1:日期时间算术比较

e.hiredate > '1990-02-24'
时间戳记 February 24th, 1990 1:50 pm 可以按如下所示表示:
'1990-02-24-13.50.00.000000'  或
'1990-02-24-13.50.00'

如果数据存储是 DB2,那么可以在表达式和比较中使用 DB2 十进制持续时间。日期持续时间是表示两个日期(以 YYYYMMDD 格式表示)之差的 decimal(8,0) 数。持续时间是表示两个时间(以 HHMMSS 表示的)值之差的 decimal(6,0) 数。时间戳记持续时间是表示两个时间戳记值(以 YYYYMMDDHHMMSS.ZZZZZZ 表示)之差的 decimal(20,6) 数(ZZZZZZ 是微秒数并且紧跟十进制小数点)。

可以在两个日期值(或时间值或时间戳记值)之间进行减法运算以得到持续时间。如果第二个操作数大于第一个操作数,那么持续时间为负的十进制数。日期时间值可以加上或减去持续时间来得到新的日期时间值。

示例 2:日期时间算术比较

DATE('3/15/2000') - '12/31/1999' 得到持续时间为 0 年 2 个月 15 天的十进制数 215。

持续时间确实为十进制数并且可在算术表达式和比较中使用。

( DATE('3/15/2000') - '12/31/1999' ) + 14 > 215 求值为 TRUE。

DATE('12/31/1999') + DECIMAL(215,8,0) 得到日期值 3/15/2000。

TIME('11:02:26') - '00:32:56' 得到持续时间为 10 小时 29 分钟 30 秒的十进制数 102930。

TIME('00:32:56') + DECIMAL(102930,6,0) 得到时间值 11:02:26。

TIME('00:00:59') + DECIMAL(240000,6,0) 得到时间值 00:00:59。

e.hiredate + DECIMAL(500,8,0) > '2000-10-01' 意思是 hiredate 加上 5 个月与日期 10/01/2000 作比较。


指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cque_dtacomp
文件名:cque_dtacomp.html