Você deve tentar convertê-lo explicitamente usando
CAST
ou CONVERT
funcione como abaixo e não conte com a conversão implícita. SELECT * FROM test WHERE sample_col = cast('foo' as int);
(OR)
SELECT * FROM test WHERE cast(sample_col as varchar) = 'foo';
Além disso, não faz sentido comparar um
INT
coluna de tipo com string
value e AFAIK, não há essa configuração presente para interromper a conversão implícita. se você realmente deseja resultar em erro em vez de convertê-lo em 0, converta-o explicitamente; nesse caso vai dar erro. Consulte Conversão de tipo na avaliação de expressão Para maiores informações.