Это потому, что если вы не определите размер переменной NVARCHAR, то по умолчанию будет установлен размер 1. Таким образом, @s будет содержать только «a».
Вы должны всегда быть осторожны, чтобы убедиться, что вы определяете размеры явно, поскольку различные сценарии ведут себя по-разному, как Я написал здесь .
Итак, просто измените
DECLARE @s NVARCHAR
до (например)
DECLARE @s NVARCHAR(20)