由于某种原因(我无法控制),日期以整数形式存储在我需要查询的 iSeries AS400 DB2 系统中。例如今天将被存储为:
20,171,221
在英国,我需要它在日期格式中如下所示:
21/12/2017
这是来自我的查询:(OAORDT = 日期字段)
Select
Date(SUBSTR( CHAR( OAORDT ),7,2) ||'/' || SUBSTR(CHAR ( OAORDT ),5,2) || '/' || SUBSTR(CHAR (OAORDT ),1,4)) AS "Order Date"
from some.table
但是,我得到的只是空值。如果我删除 Date 函数,那么它确实可以工作,但它现在是一个字符串,我不想要它:
Select
SUBSTR( CHAR( OAORDT ),7,2) ||'/' || SUBSTR(CHAR ( OAORDT ),5,2) || '/' || SUBSTR(CHAR (OAORDT ),1,4) AS "Order Date"
from some.table
如何将 OAORDT 字段转换为日期?
只是为了更新 - 我将使用 OpenQuery 从 MS SQL Server 查询这个
谢谢。
原文由 Michael 发布,翻译遵循 CC BY-SA 4.0 许可协议
最简单的是使用
TIMESTAMP_FORMAT
:21/12/2017
: