1

ssisで以下を使用して、2001年12月23日の形式の日付を2001年12月23日に変換しようとしましたが、エラーが発生し続けます。

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-duced.html)にあるものを使用しましたが、何らかの理由で機能しないようです。誰かが私がこれについてどうやって行くことができるか説明できますか

4

1 に答える 1

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
于 2012-07-10T02:36:46.877 に答える