【发布时间】:2017-02-28 18:10:13
【问题描述】:
我需要将字符串转换为日期字段。该字段存储 30 个字符。日期(如果存在)被格式化为“yyyymmdd”(20170202)。在所有情况下,日期后面都有 22 个空格。我需要将此字段格式化为这样的日期字段:dd-mm-yyyy。
我尝试了几个公式:
TO_CHAR(PERSACTION.NEW_VALUE_02, 'dd-mm-yyyy'),TO_CHAR(PERSACTION.NEW_VALUE_02, 'yyyymmdd'),trim(TO_CHAR(PERSACTION.NEW_VALUE_02, 'yyyymmdd')) 错误信息:无效的数字格式模型。欢迎和赞赏您的专业知识。
【问题讨论】:
-
不明白你说的字段是日期但包含30个字符。请包括表定义。
-
您想将字符串转换为日期。从您的标题和您的帖子中准确引用。现在,Oracle 有函数
TO_CHAR和TO_DATE。如果您想将转换为日期,您认为这两个函数中的哪一个(同样,它们的名字是TO_CHAR和TO_DATE)更可能是正确的? -
该表是一个字符串 (30)。我同意,我希望我们能够控制数据在表中的存储方式,但遗憾的是我们没有。
-
另一方面,如果您想将转换为日期,则没有“格式”- 日期字段没有格式。这些格式仅适用于字符串,当您将字符串转换为日期时(当您以正确的数据类型(即 DATE)将数据存储在表中时)以及将日期转换回字符串时,仅用于报告目的。
标签: oracle