2012-05-23 121 views
1

所以,我創建了一個變量「批」與數據類型datetime。現在我的OLEBD源文件有一個「addDate」列,例如2012-05-18 11:11:17.470空白的目的地也將被填充。SSIS:比較日期時間和變量

現在此列ADDDATE有很多的日期,我想複製這是所有日期「2012-05-18 11:11:17.470」

當我把變量的值作爲這個日期,它會自動更改到mm/dd/yyyy hh; mm AM格式,因此在我的條件拆分轉換中,它無法將日期與變量匹配,因此沒有記錄被複制到目的地!

問題到底在哪裏?

謝謝!

回答

0

我找到了更簡單的解決方案。選擇數據類型作爲字符串。放任何期望的價值。 在進行條件分割之前,您需要進行數據轉換轉換。 將其轉換爲DT_DBTIMESTAMP,然後運行該程序包。

它的工作原理!

0

我有這個問題,我發現最好的解決方案不是「漂亮」。 基本上你需要將變量的「表達式」和「作爲表達式求值」更改爲真(否則它將忽略表達式上的值)。

祕密是(和我說這不是一個漂亮的解決方案的原因種類)創建第二個變量來評估第一個變量的表達式,因爲您不能根據表達式更改變量的值。

所以我們說你的變量稱爲「DateVariable」,你有23/05/2012,創建一個名爲「DateVar2」,例如變量,其表達設爲

(DT_WSTR,4)YEAR(@ [用戶: (DateVariable])+「/」+ RIGHT(「0」+ (DT_WSTR,2)MONTH(@ [User :: DateVariable]),2)+「/」+ RIGHT(「0」+ (DT_WSTR,2 )DAY(@ [用戶:: DateVariable]),2)

這會給你2012/05/23

只需繼續獲取所需格式的日期