Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menukar mmddyyyy varchar kepada datetime dalam SQL Server?

Bagaimana untuk Menukar mmddyyyy varchar kepada datetime dalam SQL Server?

Susan Sarandon
Susan Sarandonasal
2025-01-13 10:42:42961semak imbas

How to Convert mmddyyyy varchar to datetime in SQL Server?

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:

  1. Penyediaan Rentetan: Mula-mula, isytiharkan pembolehubah (cth., @Date) jenis char(8) dan tetapkan rentetan mmddyyyy anda kepadanya. Ini memastikan panjang rentetan yang konsisten.

  2. 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.

  3. 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!

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