Този израз връща редове за my_field = '13a' :
SELECT * FROM my_table WHERE my_field=13
Тъй като MySQL извършва преобразуване на тип от низ в число по време на сравнението, преобразувайки '13a' до 13 . Повече за това в тази страница с документация
.
Добавянето на кавички превръща цялото число в низ, така че MySQL извършва само сравнение на низове. Очевидно '13' не може да бъде равно на '13a' .
LIKE клаузата винаги извършва сравнение на низове (освен ако някой от операндите не е NULL , в който случай резултатът е NULL ).