Soalan: Adakah terdapat sebarang sumber yang tersedia yang menyediakan senarai lengkap format tarikh tarikh yang disokong untuk berbeza Jenis data SSIS? Adakah jenis data DT_DBTimestamp mampu mengenali format '1-Jan'?
Respons:
Maklumat Am
Jadual berikut menyenaraikan format masa tarikh lalai yang disokong oleh pelbagai jenis data SSIS apabila menukar daripada rentetan:
Data Type | Default 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] |
Kes Penggunaan Khusus:
Dalam contoh yang disediakan, rentetan '1-Jan' tidak boleh ditukar terus kepada datetime menggunakan Convert( ) fungsi dalam SQL Server. Walau bagaimanapun, apabila cuba mengimport nilai ini ke dalam SSIS sebagai DT_DBTimestamp, ia secara tersirat diiktiraf sebagai 1/1/2017.
Eksperimen:
Untuk menyiasat lebih lanjut kelakuan ini, beberapa eksperimen telah dijalankan:
Penemuan:
Eksperimen mengesahkan bahawa jenis data DT_DBTimestamp dalam SSIS mempunyai mekanisme penukaran yang lembut yang cuba mentafsir pelbagai format masa tarikh, termasuk yang yang tidak disokong secara eksplisit dalam format lalai. Tingkah laku ini tidak konsisten dengan penukaran tarikh masa SQL Server, yang mematuhi format tertentu yang disokong.
Rujukan:
Atas ialah kandungan terperinci Bagaimanakah SSIS Secara Tersirat Menukar Format Datetime, dan Adakah DT_DBTimestamp Menyokong '1-Jan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!