我正在使用sqlldr在Oracle數據庫中加載mysql數據...我的問題是我有一個MySQL的日期列,Oracle不喜歡...MySQL數據字段到oracle
這裏是結構我在MySQL列:
Extra Type Field Default Null Key
date dateToSend 0000-00-00 NO
這裏是我的CTL文件中的條目:
DATETOSEND "CASE :DATETOSEND WHEN '0000-00-00 00:00:00' THEN TO_DATE('1900-01-01', 'YYYY-MM-DD') ELSE TO_DATE(:DATETOSEND, 'YYYY-MM-DD HH24:MI:SS') END"
我使用 「DATETOSEND
」 神諭列DATE
從MySQL日期字段的一個例子是: 「2014-08-14
」
最後,我從SQLLDR得到的錯誤是:
ORA-01861:文字不匹配格式字符串
我知道這可能是一些與我如何格式化「TO_DATE」,但我不知道我錯過了什麼....
UPDATE:這得到它的工作:
DATETOSEND "to_date(SUBSTR(:DATETOSEND,1,10),'YYYY-MM-DD')"
'0000-00-00 00:00:00'是無效的日期,從來沒有被導入到Oracle – 2014-11-05 22:36:38
是的,有它。我試過這個:DATETOSEND「to_date(SUBSTR(:DATETOSEND,1,10),'YYYY-MM-DD')」,它的工作原理。 – user1801932 2014-11-05 22:52:09