Ssis

ssis 轉換 ddmonyyyy dd/mm/yyyy

  • January 16, 2014

大家好,正在嘗試轉換

2014 年 1 月 16 日 –> 2014 年 1 月 16 日。有任何想法嗎???我試圖避免可怕的表達?簡:1?FEB : 2 等等等等。

SSMS 會很樂意執行 SELECT MONTH(‘16JAN2014’) 來獲取月數,但是 MONTH(“16JAN2014”) 在 SSIS 中不起作用。

嗯…嘗試了程式碼,但下面不斷出現錯誤…

在此處輸入圖像描述

使用腳本組件執行轉換!當然一定要設置你的讀/寫變數!在 .NET 框架中使用特定的語言環境設置非常容易,因此腳本組件應該優於信任數據庫為您正確執行轉換。

使用腳本組件從字元串中解析 DateTime 值

   using System.Globalization;

   ...

   public void Main()
   {
       String str = ( String )Dts.Variables[ "StringVariable" ].Value;

            // Good candidate for another variable, this is just an example.
       String format = "ddMMMyyyy"; 
       CultureInfo provider = CultureInfo.InvariantCulture;

       DateTime dt = DateTime.Parse( str, format, provider );
       Dts.Variables[ "DateTimeVariable" ].Value = dt;

       Dts.TaskResult = ( int )ScriptResults.Success;
   }

在 VB 中,如果這就是你的滾動方式™

   Imports System.Globalization

   ...

   Public Sub Main()
           Dim str As String = Dts.Variables("StringVariable").Value
           Dim format As String = "ddMMMyyyy"
           Dim provider As CultureInfo = CultureInfo.InvariantCulture
           Dim dt As DateTime = Date.ParseExact(str, format, provider)
           Dts.Variables("DateTimeVariable").Value = dt
           Dts.TaskResult = ScriptResults.Success
   End Sub

引用自:https://dba.stackexchange.com/questions/56911