我正在使用SQL * Loader将数据从CSV导入Oracle表。我的数据有多个日期字段,我需要用' 0001-01-01-00-00-00'替换空值。和其他值需要遵循日期格式。
我使用像
这样的解码选项decode(:QUOTE_CREATE_DT,NULL,'0001-01-01-00.00.00',
TO_DATE(:QUOTE_CREATE_DT,'MM/DD/YYYY HH24:MI:SS'))
在出现空值时无效。
SQL * Loader错误:
Record 2: Rejected - Error on table EX_QUOTE_MO_SAMPLE, column QUOTE_CREATE_DT.
ORA-01847: day of month must be between 1 and last day of month
答案 0 :(得分:0)
您的版本依赖于使用SQL * Loader会话的NLS设置进行隐式转换。
您可以使用decode
或coalesce
或nvl
以您要转换的格式提供日期字符串,但在{{1}内呼叫:
to_date()