Du bør hellere prøve at caste det eksplicit ved hjælp af CAST
eller CONVERT
fungerer som nedenfor og regner ikke med implicit casting.
SELECT * FROM test WHERE sample_col = cast('foo' as int);
(OR)
SELECT * FROM test WHERE cast(sample_col as varchar) = 'foo';
Desuden er der ingen mening i at sammenligne en INT
skriv kolonne med string
værdi og AFAIK, er der ingen sådan indstilling til stede for at stoppe implicit casting. hvis du virkelig ønsker at resultere i fejl i stedet for at konvertere det til 0, så cast det eksplicit; i så fald vil det fejle.
Se Typekonvertering i udtryksevaluering For mere information.