Позволете ми да отговоря с някои цитати от документацията на SQL Server.
Преобразуване на символни данни
И така, вашият varchar е деклариран като varchar(1) и неявното преобразуване във вашия SET оператор (от низов литерал с дължина 3 до varchar(1) ) съкращава dog до d .