Menukar mmddyyyy varchar kepada datetime dalam SQL Server
Pengguna pangkalan data SQL Server sering menghadapi cabaran untuk menukar rentetan varchar yang mewakili tarikh (dalam format mmddyyyy) ke dalam jenis data datetime. Penukaran langsung menggunakan CONVERT
kerap gagal disebabkan nilai di luar julat. Panduan ini menyediakan penyelesaian yang boleh dipercayai.
Prosesnya melibatkan langkah-langkah utama ini:
Penyediaan Rentetan: Mula-mula, isytiharkan pembolehubah (cth., @Date
) jenis char(8)
dan tetapkan rentetan mmddyyyy anda kepadanya. Ini memastikan panjang rentetan yang konsisten.
Manipulasi Rentetan: Gunakan fungsi rentetan (LEFT
, RIGHT
, SUBSTRING
) untuk menyusun semula komponen rentetan ke dalam format yyyymmdd
, yang mudah difahami oleh SQL Server. Ekstrak bahagian tahun, bulan dan hari secara berasingan dan gabungkannya dalam susunan yang betul.
Penukaran: Akhir sekali, gunakan fungsi CONVERT
untuk mengubah rentetan yang disusun semula menjadi datetime
jenis data.
Contoh:
Kod SQL berikut menunjukkan penukaran:
<code class="language-sql">DECLARE @Date char(8); SET @Date = '12312009'; SELECT CONVERT(datetime, RIGHT(@Date, 4) + LEFT(@Date, 2) + SUBSTRING(@Date, 3, 2));</code>
Ini akan menghasilkan:
<code>----------------------- 2009-12-31 00:00:00.000 (1 row(s) affected)</code>
Kaedah ini mengendalikan penukaran dengan berkesan, membolehkan operasi berkaitan tarikh selanjutnya dalam pangkalan data SQL Server anda. Ingat untuk menyesuaikan pembolehubah @Date
kepada rentetan tarikh varchar khusus anda.
Atas ialah kandungan terperinci Bagaimana untuk Menukar mmddyyyy varchar kepada datetime dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!