Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana menghindari konversi implisit MySQL (Nilai GANDA salah terpotong)

Anda sebaiknya mencoba mentransmisikannya secara eksplisit menggunakan CAST atau CONVERT berfungsi seperti di bawah ini dan jangan mengandalkan casting implisit.

SELECT * FROM test WHERE sample_col = cast('foo' as int);

(OR)

SELECT * FROM test WHERE cast(sample_col as varchar) = 'foo';

Selain itu, tidak ada gunanya membandingkan INT ketik kolom dengan string value dan AFAIK, tidak ada pengaturan seperti itu untuk menghentikan casting implisit. jika Anda benar-benar ingin menghasilkan kesalahan daripada mengubahnya menjadi 0 maka berikan secara eksplisit; dalam hal ini akan error.

Lihat Mengetik Konversi dalam Evaluasi Ekspresi Untuk informasi lebih lanjut.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara melakukan rata-rata bergerak pada rentang tanggal dalam SQL?

  2. Memperbarui tabel data mysql dari parameter kueri menggunakan nodejs dan express

  3. Node Mysql Tidak Dapat Mengantrekan kueri setelah memanggil quit

  4. Mysql Pilih COL beberapa kali untuk nilai yang berbeda

  5. MacOS Tidak dapat memulai Server MySQL