轉換時在SSIS 中將字串轉換為日期時間,考慮每個字串支援的格式很重要資料類型。本文探討了 SSIS 對 DT_DBTimestamp 資料類型的隱式轉換功能。
下表列出了各種日期時間資料類型的預設格式在SSIS 中轉換時strings:
Datatype | Format | |
---|---|---|
DT_DBDATE | yyyy-mm-dd | |
DT_FILETIME | yyyy-mm-dd hh:mm:ss:fff | |
DT_DBTIME | hh:mm:ss | |
DT_DBTIME2 | hh:mm:ss[.fffffff] | |
DT_DBTIMESTAMP | yyyy-mm-dd hh:mm:ss[.fff] | |
DT_DBTIMESTAMP2 | yyyy-mm-dd hh:mm:ss[.fffffff] | |
DT_DBTIMESTAMPOFFSET | yyyy-mm-dd hh:mm:ss[.fffffff] [{ | -} hh:mm] |
儘管沒有明確支援「1-Jan」格式,SSIS 會隱式轉換為 1/ 1/2017(指派給 DT_DBTimestamp 輸出列時)。這與在 SQL Server 中轉換相同字串相反,後者會導致錯誤。
為了驗證此行為,我們使用SSIS 和SQL Server 進行實驗:
SSIS 中的腳本組件迭代各種文化日期格式並將它們指派給DT_DBTimestamp輸出列。如果轉換成功,則記錄格式和接受情況。結果輸出到文件,突出顯示隱式轉換。
對每種日期格式執行 SqlCommand 以測試其轉換。捕獲異常以確定不可接受的格式。
有關SSIS 和SQL Server 中資料類型轉換的更多詳細信息,請參閱以下資源:
在將字串指派給 DT_DBTimestamp 資料型別時,SSIS 會為某些日期格式提供隱式轉換。在 SQL Server 中並非如此,必須明確定義特定格式才能轉換。
以上是SSIS 如何將字串隱式轉換為 DT_DBTimestamp,這與 SQL Server 有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!