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

Konversi gagal saat mengonversi nilai varchar 'sederhana,' ke tipe data menjadi

Untuk menghindari kesalahan seperti itu, Anda dapat menggunakan CASE + ISNUMERIC untuk menangani skenario saat Anda tidak dapat mengonversi ke int.
Ubah

CONVERT(INT, CONVERT(VARCHAR(12), a.value))

Untuk

CONVERT(INT,
        CASE
        WHEN IsNumeric(CONVERT(VARCHAR(12), a.value)) = 1 THEN CONVERT(VARCHAR(12),a.value)
        ELSE 0 END) 

Pada dasarnya ini mengatakan jika Anda tidak dapat mengonversi saya menjadi int, tetapkan nilai 0 (dalam contoh saya)

Atau Anda dapat melihat artikel ini tentang membuat fungsi khusus yang akan memeriksa apakah a.value adalah nomor:http://www.tek-tips.com/faqs.cfm?fid=6423



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TAN() Contoh di SQL Server

  2. Dapatkan hari terakhir dalam sebulan di SQL

  3. Tutorial Surat Basis Data

  4. Mengapa kesalahan terkait jaringan atau spesifik contoh terjadi saat membuat koneksi ke SQL Server?

  5. Cara Menggunakan Logika JIKA... MAKA di SQL Server