Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Berjaya Menukar Rentetan Varchar mmddyyyy kepada DateTime dalam SQL Server 2008?

Bagaimanakah Saya Boleh Berjaya Menukar Rentetan Varchar mmddyyyy kepada DateTime dalam SQL Server 2008?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-13 10:15:42448semak imbas

How Can I Successfully Convert mmddyyyy Varchar Strings to DateTime in SQL Server 2008?

Cara yang berkesan untuk menukar rentetan varchar mmddyyyy kepada datetime dalam SQL Server 2008

Dalam SQL Server 2008, menukar rentetan format mmddyyyy yang mewakili tarikh kepada jenis data datetime mungkin menghadapi ralat penukaran. Begini cara untuk membetulkannya:

Menghuraikan dan menukar rentetan

Penukaran menggunakan fungsi CONVERT secara langsung mungkin gagal dengan ralat di luar julat. Sebaliknya anda harus menghuraikan rentetan secara manual ke dalam bahagian komponennya (bulan, hari, tahun) dan kemudian membina nilai datetime:

<code class="language-sql">DECLARE @Date char(8)
SET @Date = '12312009'

SELECT CONVERT(datetime,
                RIGHT(@Date, 4) + SUBSTRING(@Date, 3, 2) + LEFT(@Date, 2))</code>

Contoh: Tukar '12312009' kepada DateTime

Menggunakan kaedah di atas, rentetan '12312009' boleh ditukar kepada nilai datetime seperti berikut:

<code class="language-sql">SELECT CONVERT(datetime,
                RIGHT('12312009', 4) + SUBSTRING('12312009', 3, 2) + LEFT('12312009', 2))</code>

Hasil keluaran

Keluaran pertanyaan di atas ialah:

<code>-----------------------
2009-12-31 00:00:00.000

(1 row(s) affected)</code>

Sila ambil perhatian bahawa untuk memastikan ketepatan penukaran, susunan pemprosesan rentetan telah dilaraskan dalam kod, meletakkan tahun di hadapan, bulan di tengah dan tarikh di penghujung, iaitu berbeza daripada kaedah pemprosesan lalai bagi fungsi CONVERT.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berjaya Menukar Rentetan Varchar mmddyyyy kepada DateTime dalam SQL Server 2008?. 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