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

Posted

技术标签:

【中文标题】在 DB2 中将当前日期转换为 char【英文标题】:Convert current date to char in DB2 【发布时间】:2015-02-13 14:00:54 【问题描述】:

我有一个 INSERT + SELECT 语句。一列是 VARCHAR,但必须用 3 种不同方言的 'yyyyMMdd' 格式填充日期。

使用 SQL server 和 Oracle 没有问题,但在 Db2 中我没有找到任何可以做这些事情的东西。

在 SQLServer 中是CONVERT(VARCHAR,S.DT_NASCITA,112)

在 Oracle 中是 TO_CHAR(S.DT_NASCITA,'YYYYMMDD')

Any1 可以帮助我吗?

建议!

【问题讨论】:

...如果您能提供帮助,您首先不应该存储格式化为文本的日期。您尤其是不应该在同一列中存储多个值,或在同一列中存储多种格式。你为什么要这样做? '因为我必须这样做。这是一个登陆表,它必须包含来自平面文件的数据,因此所有文件都是 VARCHAR。在这种情况下,我正在使用另一个表创建一些“假”记录,但在这种情况下,该字段的类型正确(正是日期) 【参考方案1】:

以非常糟糕的方式修复。这种方式似乎适用于所有发行版

SELECT SUBSTR(CHAR(CURRENT DATE, ISO),1,4) || SUBSTR(CHAR(CURRENT DATE, ISO),6,2) || SUBSTR(CHAR(CURRENT DATE, ISO),9,2) FROM SYSIBM.SYSDUMMY1

【讨论】:

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

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

在iSeries DB2中使用SQL将整数转换为日期

怎么在Oracle中将时间戳转化为日期格式

如何在Oracle中将时间戳转化为日期格式

如何在SAS(大学)中将char字符转换为日期?

如何在java中将当前日期转换为字符串?