Переменная Varchar не работает в предложении WHERE

Почему это работает ...

DECLARE @MyInt int = 12345;
SELECT * FROM MyTable WHERE MyId = @MyInt; --Returns 1 row
SELECT * FROM MyTable WHERE MyId = 12345;  --Returns 1 row

, а этого нет?

DECLARE @MyVarchar varchar = 'ABCDEF';
SELECT * FROM MyTable WHERE MyId = @MyVarchar; --Returns 0 rows
SELECT * FROM MyTable WHERE MyId = 'ABCDEF';   --Returns 1 row

Версия SQL Server - 10.50.1746

13
задан GSerg 20 December 2011 в 18:36
поделиться