Denne sætning returnerer rækker for my_field = '13a' :
SELECT * FROM my_table WHERE my_field=13
Fordi MySQL udfører typekonvertering fra streng til nummer under sammenligningen, drejer '13a' til 13 . Mere om det på denne dokumentationsside
.
Tilføjelse af anførselstegn gør hele tallet til en streng, så MySQL udfører kun strengsammenligning. Det er klart, '13' kan ikke være lig med '13a' .
LIKE klausul udfører altid strengsammenligning (medmindre en af operanderne er NULL , i hvilket tilfælde resultatet er NULL ).