我有一个包含日期错误的表。在oracle sql case语句中替换日期错误
错误是这样的错字:01-AUG-208而不是01-AUG-2008。 我想要做的是用正确的信息从该表创建一个视图。
我都试过,但它给了我一个ORA-01858:发现一个非数字字符,其中数字预计
CREATE OR REPLACE VIEW IC_STRUCTURE("DATE_DE_CONSTRUCTION") AS
SELECT
CASE
WHEN DATE_DE_CONSTRUCTION = '01-AUG-208'
THEN TO_DATE('01-AUG-2008')
ELSE DATE_DE_CONSTRUCTION
END AS DATE_DE_CONSTRUCTION
FROM structure_souterraine;
不幸的是我不能简单地通过正确的值,因为该表是更新错误每个月都会更新另一个数据库,这是错误的来源。我不得不每月纠正一次。
我的查询出了什么问题? 还有其他解决方法吗?
ough,请看看这里:http://www.oracle.com/technetwork/issue-archive/2012/12-jan/o12plsql-1408561.html。简短提示:使用'TO_CHAR(datestamp,'format')'获取视觉日期并使用'TO_DATE()'获取日期类型 – Najzero 2013-03-27 12:21:33