Вам необходимо указать длину строки для переменной varchar
, в противном случае длина по умолчанию будет 30 (что недостаточно для хранения вашего значения), согласно документации Microsoft здесь :
varchar [(n | max)] Строковые данные переменной длины, отличные от Unicode.n определяет длину строки и может принимать значение от 1 до 8 000.
Если n не указано при использовании функций CAST и CONVERT, длина по умолчанию составляет 30.
Таким образом, следующее должно решить вашу проблему:
declare @guid uniqueidentifier = '4164980A-EFD0-4C60-A18A-253465E00E9C'
print 'GUID ='+cast(@guid as varchar(36))