Esta instrução retorna linhas para
my_field = '13a'
:SELECT * FROM my_table WHERE my_field=13
Como o MySQL realiza a conversão de tipo de string para número durante a comparação, transformando
'13a'
para 13
. Mais sobre isso nesta página de documentação
. Adicionar aspas transforma o inteiro em uma string, então o MySQL só executa a comparação de strings. Obviamente,
'13'
não pode ser igual a '13a'
. O
LIKE
A cláusula sempre realiza uma comparação de strings (a menos que um dos operandos seja NULL
, caso em que o resultado é NULL
).