sql >> Base de Datos >  >> RDS >> Mysql

Mysql Like + Wild Card vs Equals Operator

Esta declaración devuelve filas para my_field = '13a' :

SELECT * FROM my_table WHERE my_field=13

Debido a que MySQL realiza una conversión de tipo de cadena a número durante la comparación, convierte '13a' a 13 . Más sobre eso en esta página de documentación .

Agregar comillas convierte el número entero en una cadena, por lo que MySQL solo realiza una comparación de cadenas. Obviamente, '13' no puede ser igual a '13a' .

El LIKE La cláusula siempre realiza una comparación de cadenas (a menos que uno de los operandos sea NULL , en cuyo caso el resultado es NULL ).