Sql-Server
SSIS 中的日期格式無效
我正在使用 BIDS 將數據從 Oracle 導出到 SQL 伺服器。
我正在使用 OLEDB 源和目標。
我
datetime
在 ORACLE 中有大約 6 個欄位,其中兩個欄位沒有問題,而 4 個欄位給出無效的日期格式問題。這四個欄位在ORACLE
nulls
的欄位中要麼有,要麼只有日期部分。datetime
有什麼解決辦法嗎?
我已經嘗試過各種數據轉換和插入空值選項。
您需要使用派生列轉換,並藉助表達式對原始列執行所需的轉換操作。
REPLACENULL(expression 1,expression 2)
在派生列轉換中使用預設值替換 null 。如果第一個表達式參數的值為 NULL,則REPLACENULL返回第二個表達式參數的值;否則,返回第一個表達式的值。
REPLACENULL(SHIPPED_DATE, "1900-01-01")
或與
ISNULL
(DT_DBTIMESTAMP) (ISNULL(SHIPPED_DATE) ? “1900-01-01” : SHIPPED_DATE)
ISNULL([SHIPPED_DATE]) ? "UnknownDate" : [SHIPPED_DATE]
要處理日期部分,您可以使用Concatenate並將其轉換為有效的日期時間格式。
假設您將 01/07/2014 作為原始欄位值,然後將其設置為“01/07/2014 00:00:00”
OracleDateField + "00:00:00"
如果您必須同時執行這兩個操作(檢查空值和處理日期部分),那麼最好使用腳本組件而不是派生列轉換。