sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

consulta mysql que muestra un resultado incorrecto

Estás mezclando tipos. ID es un entero (o número). Lo estás comparando con una cadena. Entonces, MySQL necesita decidir qué tipo usar para la comparación. ¿Qué tipos se utilizan? Bueno, una cuerda? No. Un número. La cadena se convierte en un número, utilizando los primeros dígitos. Entonces, se convierte en 101 y partidos.

En realidad, solo debe comparar números con números y cadenas con cadenas. Podría intentar escribir el código como:

SELECT * FROM tableName WHERE ID = 101foo2

Sin embargo, obtendrá un error. Otra posibilidad es forzar la conversión a una cadena:

SELECT * FROM tableName WHERE CAST(ID as CHAR) = '101foo2'