Select 为什么DB2 CHAR()函数返回';24:00:00';对于00:00:00的时间字段?

Select 为什么DB2 CHAR()函数返回';24:00:00';对于00:00:00的时间字段?,select,time,db2,ibm-midrange,db2-400,Select,Time,Db2,Ibm Midrange,Db2 400,我在I(AS/400)上查询DB2。数据类型为TIME的列上的普通SELECT语句返回00:00:00,但当我使用CHAR()函数时,它返回“24:00:00” 我知道24:00:00是一个有效的时间,但是为什么当本机时间返回00时CHAR()会返回24?在V5R4上: CREATE TABLE TEST (FIELD1 TIME NOT NULL WITH DEFAULT) INSERT INTO TEST VALUES('00:00:00') SELECT FIELD1, CHAR(FI

我在I(AS/400)上查询DB2。数据类型为TIME的列上的普通SELECT语句返回00:00:00,但当我使用CHAR()函数时,它返回“24:00:00”

我知道24:00:00是一个有效的时间,但是为什么当本机时间返回00时CHAR()会返回24?

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

我有1000多万条记录,时间值为00:00:00,但在使用CHAR()时,只有一条记录返回“24:00:00”。