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

发布于 2024-07-24 05:31:10 字数 171 浏览 3 评论 0原文

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

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

I'm querying DB2 on i (AS/400). A plain SELECT statement on a column with datatype of TIME returns 00:00:00, but when I use the CHAR() function it returns '24:00:00'.

I understand that 24:00:00 is a valid time, but why would CHAR() return 24 when the native TIME returs 00?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终弃我 2024-07-31 05:31:10

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

On V5R4:

CREATE TABLE TEST (FIELD1 TIME NOT NULL WITH DEFAULT)

INSERT INTO TEST VALUES('00:00:00')

SELECT FIELD1, CHAR(FIELD1) FROM TEST

Shows:

FIELD1    CHAR ( FIELD1 ) 
00:00:00     00:00:00     

Not sure why you are getting 24:00:00.

I also tried:

INSERT INTO TEST VALUES('24:00:00')

thinking maybe a 24:00:00 value was displaying as '00:00:00' but this shows:

FIELD1    CHAR ( FIELD1 ) 
00:00:00     00:00:00     
24:00:00     24:00:00    

for pretty much all Time formats (*HMS, ISO).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文