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

Cómo evitar la conversión implícita de MySQL (valor DOBLE incorrecto truncado)

Deberías intentar transmitirlo explícitamente usando CAST o CONVERT funcione como a continuación y no cuente con la conversión implícita.

SELECT * FROM test WHERE sample_col = cast('foo' as int);

(OR)

SELECT * FROM test WHERE cast(sample_col as varchar) = 'foo';

Además, no tiene sentido comparar un INT escriba la columna con string value y AFAIK, no existe tal configuración presente para detener la conversión implícita. si realmente desea generar un error en lugar de convertirlo a 0, cámbielo explícitamente; en cuyo caso se producirá un error.

Consulte Conversión de tipos en la evaluación de expresiones Para más información.