Du bör hellre försöka casta den explicit med CAST eller CONVERT fungerar som nedan och räkna inte med implicit casting.
SELECT * FROM test WHERE sample_col = cast('foo' as int);
(OR)
SELECT * FROM test WHERE cast(sample_col as varchar) = 'foo';
Dessutom är det ingen idé att jämföra en INT skriv kolumn med string värde och AFAIK, finns det ingen sådan inställning för att stoppa implicit casting. om du verkligen vill resultera i fel istället för att konvertera det till 0, cast det explicit; i så fall kommer det att felas.
Se Typkonvertering i uttrycksutvärdering För mer information.