簡體   English   中英

帶條件拆分的SSIS檢查日期格式

[英]SSIS Check date format with conditional split

我有一個帶有“日期”列的平面文件。 問題是日期可能會輸入

01-Jan-16

01Jan2016

如果我在派生列中運行

(DT_DBDATE)(SUBSTRING(bene_dob,1,2) + "-" + SUBSTRING(bene_dob,3,3) + "-" + SUBSTRING(bene_dob,7,4))

它可以很好地處理第二個日期,但實際上會弄亂第一個日期。

我正在嘗試通過條件拆分來解決此問題,但是我不確定如何繼續。

如何驗證條件拆分中的日期格式?

或者,如果您有其他建議,我歡迎您提出意見。

謝謝

一種快速而骯臟的方法是對日期列進行規范化 ,因此將其除去不需要的字符(在這種情況下為“-”),然后應用派生的列表達式,如下所示:

(DT_DBDATE)(SUBSTRING(REPLACE(bene_dob, "-", ""),1,2) + "-" + SUBSTRING(REPLACE(bene_dob, "-", ""),3,3) + "-" + SUBSTRING(REPLACE(bene_dob, "-", ""),7,4))

在派生列之前用空字符串替換破折號,以便所有行都具有相同的格式(01Jan2016)。 如果缺少年份的前兩位數字,則還需要添加它們。

或者,如果您真的想使用條件拆分,則只需測試是否存在連字符,然后根據是否在字符串中進行拆分。

在進行進一步處理之前,我將所有日期格式轉換為相同格式,可以通過sql或sis中的數據轉換來完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM