2012-07-09 85 views
1

我曾嘗試將格式23/12/2001中的日期轉換爲使用ssis中的以下內容的2001-12-23,但是我不斷收到錯誤。將字符串轉換爲ssis中的日期

ISNULL(Date_Of_Birth) ? NULL(DT_DBTIMESTAMP) : (DT_DBTIMESTAMP) 
(SUBSTRING(Date_Of_Birth,FINDSTRING(Date_Of_Birth,"/",2) + 1,4) + "-" + RIGHT("0" + 
SUBSTRING(Date_Of_Birth,1,FINDSTRING(Date_Of_Birth,"/",1) - 1),2) + "-" + RIGHT("0" + 
SUBSTRING(Date_Of_Birth,FINDSTRING(Date_Of_Birth,"/",1) + 1,FINDSTRING(Date_Of_Birth,"/",2) - 
FINDSTRING(Date_Of_Birth,"/",1)),2)) 

我用todds博客的一個(http://toddmcdermid.blogspot.co.uk/2008/11/converting-strings-to-dates-in-derived.html),但它似乎沒有爲某些原因爲我工作。誰能解釋我怎麼能去這個

+0

你什麼錯誤? – 2012-07-09 08:29:23

+0

我收到一個錯誤,說明條件操作失敗。我認爲這是一個邏輯問題。但我似乎可以破解它。 – damola 2012-07-09 08:32:02

回答

1

也許編寫.NET代碼的腳本任務轉換的日期格式是更好的主意:

Dim dateStr As String = "23/12/2001" 
    Dim result As DateTime 

    If DateTime.TryParseExact(dateStr, "dd/MM/yyyy", Nothing, Globalization.DateTimeStyles.None, result) Then 
     MsgBox(result.ToString("yyyy-MM-dd")) 
    End If