我對SSIS及其數據類型比較陌生。我已經成功創建了一個數據流任務,該任務將數據從逗號分隔的.txt平面文件導入到SQL Server。運行任務時,在點的.txt文件的日期字段0SSIS包 - 派生列條件表達式爲零的日期字段
對於派生列表達式的日期字段轉換爲0至空時出現的錯誤,我來了使用以下迄今...
[Latest Bill Due Date]==0 ? NULL(DT_DATE) : (DT_DATE)[Latest Bill Due Date]
...但邏輯不被接受,並顯示錯誤消息:
的數據類型「DT_WSTR」和「DT_I4」是不相容爲b inary運算符「==」。操作數類型不能隱式轉換爲操作的兼容類型。爲了執行這個操作,一個或兩個操作數需要用一個轉換操作符顯式轉換。
預先感謝您的任何方向。
它會出現「最新比爾到期日期」是unicode(DT_WSTR)。在0附近加上引號,即[最新賬單到期日] ==「0」? NULL(DT_DATE):(DT_DATE)[最新帳單到期日期] –
謝謝。編寫這個問題讓我還記得我的Java編程類,比較兩邊的數據類型必須是相同的類型。源字段被識別爲字符串。最終的代碼工作(包括在源數據中處理YYYYMMDD格式所需的SUBSTRING): LTRIM([Latest Bill Due Date])==「0」? NULL(DT_DATE):(DT_DATE)(SUBSTRING([Latest Bill Due Date],1,4)+「 - 」+ SUBSTRING([Latest Bill Due Date],5,2)+「 - 」+ SUBSTRING([Latest Bill到期日],7,2)) –