ORA-01840:输入值对于日期格式01840来说不够长。00000 -“输入值对于日期格式来说不够长”* 原因:
- 行动:
SELECT TO_DATE (
TO_CHAR (TO_DATE (attribute39, 'MM/DD/YYYY'), 'DD/MM/YYYY'),
'DD/MM/YYYY') AS "PO Valid To Date"
FROM table;
要想执行查询而不出错,attribute 39是以mm/dd/yyyy和varchar格式表示的日期(250)
1条答案
按热度按时间chy5wohz1#
TO_DATE支持'DEFAULT return_value ON CONVERSION ERROR',如果您在日期格式前面加上'FX',您将能够检测到attribute 39不完全符合您预期的行:
如果您没有NULL作为attribute 39的可能值,则可以将其作为DEFAULT,如果不选择您确信不在数据中的值,则可以更容易地检测到具有无效attribute 39的行。
如果字符串中的年份只有两位数(表示从1950年到2049年),则可能会得到ORA-01840。
您还可以使用正则表达式运行查询来检测attribute 39中的意外值。