【发布时间】:2009-06-10 19:19:37
【问题描述】:
我正在 i (AS/400) 上查询 DB2。对数据类型为 TIME 的列的普通 SELECT 语句返回 00:00:00,但是当我使用 CHAR() 函数时,它返回 '24:00:00'。
我知道 24:00:00 是一个有效时间,但是为什么 CHAR() 会在原生 TIME 返回 00 时返回 24?
【问题讨论】:
标签: select time db2 ibm-midrange db2-400
我正在 i (AS/400) 上查询 DB2。对数据类型为 TIME 的列的普通 SELECT 语句返回 00:00:00,但是当我使用 CHAR() 函数时,它返回 '24:00:00'。
我知道 24:00:00 是一个有效时间,但是为什么 CHAR() 会在原生 TIME 返回 00 时返回 24?
【问题讨论】:
标签: select time db2 ibm-midrange db2-400
在 V5R4 上:
CREATE TABLE TEST (FIELD1 TIME NOT NULL WITH DEFAULT)
INSERT INTO TEST VALUES('00:00:00')
SELECT FIELD1, CHAR(FIELD1) FROM TEST
演出:
FIELD1 CHAR ( FIELD1 )
00:00:00 00:00:00
不知道为什么你会得到 24:00:00。
我也试过了:
INSERT INTO TEST VALUES('24:00:00')
认为 24:00:00 的值可能显示为“00:00:00”,但这表明:
FIELD1 CHAR ( FIELD1 )
00:00:00 00:00:00
24:00:00 24:00:00
几乎适用于所有时间格式(*HMS、ISO)。
【讨论】: