Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Konversi ke datetime gagal hanya pada klausa WHERE?

Anda tampaknya mengasumsikan semacam evaluasi korsleting atau urutan predikat yang dijamin di WHERE ayat. Ini tidak dijamin. Ketika Anda memiliki tipe data campuran dalam kolom seperti itu, satu-satunya cara aman untuk menanganinya adalah dengan CASE ekspresi.

Gunakan (mis.)

CONVERT(DATETIME, 
      CASE WHEN ISDATE(pa.Attribute_Value) = 1 THEN pa.Attribute_Value END)

Tidak

CONVERT(DATETIME, pa.Attribute_Value)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tabel konversi satuan dalam SQL

  2. Bagaimana cara menggabungkan tabel kosong?

  3. Apakah Perubahan Data Capture Performance Loss Dibatasi ke Tabel yang Diaktifkan CDC?

  4. Apakah Gabung dan Gabungkan sama di SQL Server?

  5. Periksa Status Antrian Surat Database di SQL Server (T-SQL)