Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan Ralat 'Penukaran gagal apabila menukar tarikh dan/atau masa daripada rentetan aksara' dalam Pelayan SQL?

Bagaimana untuk Membetulkan Ralat 'Penukaran gagal apabila menukar tarikh dan/atau masa daripada rentetan aksara' dalam Pelayan SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-19 19:21:44181semak imbas

How to Fix

"Penukaran gagal apabila menukar tarikh dan/atau masa daripada rentetan aksara" Isu dalam SQL

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:

Isu Penukaran

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.

Format ISO-8601

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:

  • YYYYMMDD untuk tarikh tanpa bahagian masa (tiada sempang)
  • YYYY-MM-DDTHH:mm:ss untuk tarikh dengan masa (sempang pilihan , pembatas 'T' tetap)

Sisipan Dibetulkan Pernyataan

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');

DATETIME2 Datatype

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!

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