Probeer het liever expliciet te casten met CAST
of CONVERT
functioneren zoals hieronder en reken niet op impliciete casting.
SELECT * FROM test WHERE sample_col = cast('foo' as int);
(OR)
SELECT * FROM test WHERE cast(sample_col as varchar) = 'foo';
Bovendien heeft het geen zin om een INT
. te vergelijken typ kolom met string
value en AFAIK, is er geen dergelijke instelling aanwezig om impliciete casting te stoppen. als je echt fouten wilt maken in plaats van het naar 0 te converteren, cast het dan expliciet; in dat geval zal er een fout optreden.
Zie Typeconversie in expressie-evaluatie Voor meer informatie.