如何解决此错误?
declare @guid uniqueidentifier = '4164980A-EFD0-4C60-A18A-253465E00E9C'
print 'GUID ='+cast(@guid as varchar)
8170消息,状态16,状态2,第2行
结果空间不足,无法将uniqueidentifier值转换为char。
答案 0 :(得分:1)
您需要为varchar
变量指定一个字符串长度,否则,根据Microsoft文档here,默认长度将为30(该长度不足以包含您的值):>
varchar [(n | max)]可变长度的非Unicode字符串数据。 n定义字符串长度,可以是1到8,000之间的值。
使用CAST和CONVERT函数时未指定n时,默认长度为30。
因此,以下方法可以解决您的问题:
declare @guid uniqueidentifier = '4164980A-EFD0-4C60-A18A-253465E00E9C'
print 'GUID ='+cast(@guid as varchar(36))