在 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的主要内容,如果未能解决你的问题,请参考以下文章