2017-03-08 66 views
1

我很看重需要推送到數據庫。來源是EventDate。它應該只包含格式爲DD-MONTH-YY的數據值,數據庫數據類型爲datetime。派生列表達式

最近在EventDate中存在一個無效值,其中包含字符值'未知',導致數據庫插入失敗。

谷歌後,發現可以使用派生列方法將'未知'轉換爲空值。但我寫的表達失敗了。請幫助

(DT_DATE)(TRIM(EventDate) == "Unknown" ? (DT_DATE)NULL(DT_DATE) : EventDate) 

回答

2

您不需要再將NULL部分轉換爲某種東西。設置NULL([datatype])應該沒問題。

您可能還需要首先將該列轉換爲unicode才能夠TRIM。尺寸可能大於20,請檢查。

TRIM((DT_WSTR,20)EventDate) == "Unknown" ? NULL(DT_WSTR,20) : EventDate 

但是,這應該是或多或少的它。如果還存在一些問題,請爲fisrt和最後一部分添加和刪除一些轉換類型以查看它是否發生更改。也可能仍然是NULL(DT_DATE)