Pernyataan ini mengembalikan baris untuk my_field = '13a' :
SELECT * FROM my_table WHERE my_field=13
Karena MySQL melakukan konversi tipe dari string ke angka selama perbandingan, memutar '13a' ke 13 . Selengkapnya tentang di halaman dokumentasi ini
.
Menambahkan tanda kutip mengubah integer menjadi string, jadi MySQL hanya melakukan perbandingan string. Jelas, '13' tidak boleh sama dengan '13a' .
LIKE klausa selalu melakukan perbandingan string (kecuali salah satu operan adalah NULL , dalam hal ini hasilnya adalah NULL ).