【问题标题】:Why does DB2 CHAR() function return '24:00:00' for a time field that is 00:00:00?为什么 DB2 CHAR() 函数为 00:00:00 的时间字段返回“24:00:00”?
【发布时间】: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


【解决方案1】:

在 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)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    相关资源
    最近更新 更多