Rumah >pangkalan data >tutorial mysql >Bagaimanakah SSIS Secara Tersirat Menukar Rentetan Tarikh kepada Jenis Data Berbeza?

Bagaimanakah SSIS Secara Tersirat Menukar Rentetan Tarikh kepada Jenis Data Berbeza?

DDD
DDDasal
2024-12-21 01:47:10454semak imbas

How Does SSIS Implicitly Convert Date Strings to Different Data Types?

Penukaran Tersirat Tarikh dalam Sumber SSIS

Ia selalunya perlu untuk menukar tarikh antara format yang berbeza apabila menggunakan data. Dalam SSIS, gelagat penukaran tarikh kadangkala tidak dijangka. Artikel ini mengkaji penukaran tersirat rentetan tarikh kepada jenis data SSIS yang berbeza dan menyediakan carta rujukan bagi format yang disokong.

Format Masa Tarikh Lalai untuk Jenis Data SSIS

Jadual berikut menggariskan format lalai masa tarikh jenis data 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]

Penukaran Tersirat Eksperimen

Untuk menguji penukaran tersirat rentetan datetime, percubaan telah dijalankan menggunakan kedua-dua SSIS dan SQL Server.

Penukaran Masa Tarikh Tersirat SSIS

Pakej SSIS dengan Dataflowtask telah dibuat . Komponen Skrip (sebagai Sumber) dan Destinasi Fail Rata telah digunakan. Komponen Skrip mempunyai lajur keluaran jenis DT_DbTimeStamp. Dalam skrip, satu siri percubaan telah dijalankan:

  1. Pembolehubah tarikh telah ditakrifkan dan dimulakan ke tarikh tertentu.
  2. Gelung telah dibuat untuk melelaran melalui semua maklumat budaya dan mendapatkan semua format datetime yang berkaitan dengan setiap budaya.
  3. Di dalam gelung, pembolehubah Tarikh cuba ditukar kepada rentetan yang diformatkan dan diberikan kepada output lajur.
  4. Sebarang ralat penukaran telah dilog.

Hasil eksperimen ini mendedahkan bahawa pelbagai format masa tarikh ditukar secara tersirat kepada jenis data DT_DBTIMESTAMP, malah yang tidak dipertimbangkan berkanun.

Masa Tarikh Tersirat Pelayan SQL Penukaran

Pertanyaan SQL Server telah digunakan untuk menguji sama ada format rentetan tertentu akan ditukar secara tersirat kepada datetime. Pertanyaan berikut telah dilaksanakan:

SELECT CONVERT(DATETIME, '" + dtdate.ToString(strFormat) + '")

Keputusan menunjukkan bahawa hanya dua format rentetan waktu tarikh ditafsir dengan betul dengan mana-mana tetapan bahasa:

  1. yyyyMMdd
  2. yyyy- MM-ddTHH:mm:ss (ISO8601)

Atas ialah kandungan terperinci Bagaimanakah SSIS Secara Tersirat Menukar Rentetan Tarikh kepada Jenis Data Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn