Semasa cuba membuat jadual dengan lajur datetime dan memasukkan tarikh dan masa tertentu nilai, mesej ralat "Penukaran gagal apabila menukar tarikh dan/atau masa daripada rentetan aksara" ditemui. Begini cara untuk menangani isu ini:
Percubaan awal untuk memasukkan nilai dalam format '21-02-2012 6:10:00 PM' mengakibatkan ralat kerana SQL Server memerlukan format tarikh dan masa tertentu.
Untuk menyelesaikan masalah ini isu, gunakan format tarikh ISO-8601, yang disokong oleh SQL Server tanpa mengira bahasa atau tetapan format tarikh. Format ini terdiri daripada pilihan berikut:
Menggunakan format ISO-8601 pada pernyataan sisipan menghasilkan kod yang diperbetulkan:
insert into table1 values('2012-02-21T18:10:00', '2012-01-01T00:00:00');
Sebagai alternatif, untuk SQL Server 2008 atau lebih baharu, menggunakan Jenis data DATETIME2 memudahkan proses penukaran dan membenarkan format tarikh yang berbeza tanpa isu:
SELECT CAST('02-21-2012 6:10:00 PM' AS DATETIME2), -- works just fine CAST('01-01-2012 12:00:00 AM' AS DATETIME2) -- works just fine
Dengan mematuhi format ISO-8601 atau menggunakan jenis data DATETIME2, anda boleh mengatasi ralat "Penukaran gagal" dan memasukkan nilai tarikh dan masa dengan betul dalam SQL Server.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Penukaran gagal apabila menukar tarikh dan/atau masa daripada rentetan aksara' dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!