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
).