Потому что, когда вы declare
, длина по умолчанию varchar
равна 1
. Таким образом, @MyVarchar
заканчивается 'A'
.
Это отличается от cast(something as varchar)
, где длина по умолчанию - 30
.
Правильная вещь -
DECLARE @MyVarchar varchar(10) = 'ABCDEF';
, где 10
- длина столбца в таблице.