将 JDE 日期格式转换为 DB2

Posted

技术标签:

【中文标题】将 JDE 日期格式转换为 DB2【英文标题】:Converting the JDE Date format to DB2 【发布时间】:2013-08-09 03:32:03 【问题描述】:

我想将存储在数据库中的 JDE 时间值转换为 numeric(6),并且我想使用格式或时间转换将其转换为 ibm DB2 中的时间值?

例如 JDE 时间值 = 130313 我期望的结果是 13:03:13(小时、分钟、秒)

日期还可以,我可以使用 从 sysibm.sysdummy1 中选择当前日期

但我认为时间只是将值从 6 个数字格式化为小时:分钟:秒

【问题讨论】:

【参考方案1】:

假设您将 TIMSEP 设置为 ':',您可以使用

    time( insert(insert( digits(dec( jdedate ,6,0)) ,5,0,':'),3,0,':') )

但我建议

    timestamp_format( digits(dec( jdedate ,6,0)) ,'HH24:MI:SS')

【讨论】:

您可能不需要内部dec(),因为您的日期已经是数字(6,0)。【参考方案2】:

看看TIMESTAMP_FORMAT函数:

SELECT TIME(TIMESTAMP_FORMAT('130313', 'HH24MISS'))
FROM SYSIBM.SYSDUMMY1

【讨论】:

以上是关于将 JDE 日期格式转换为 DB2的主要内容,如果未能解决你的问题,请参考以下文章

将 db2 数据库中的浮点值转换为日期格式?

将时间戳转化为日期格式

时间戳转为日期格式

如何在 DB2 AS/400 中将十进制字段转换为日期字段?

在 DB2 中将当前日期转换为 char

DB2时间的运算