把guid字段uniqueidentifier类型数据在Sql语句中转化成nvarchar类型,报错“将 expression 转换为数据类型 nvarchar 时出现算术溢出错误。”

开始没有思考过来,其实是说uniqueidentifier转化成nvarchar时字符长度超出,设定nvarchar是会在后面括号中带入字符长度,将uniqueidentifier转化成nvarchar需要指定36个字符宽,才不会出错,大于36个字符也没问题只要不少于36个字符宽。

例如:@UserId uniqueidentifier 这里的@UserId转化成nvarchar写法CAST(@UserId AS nvarchar(36))即不会报错,guid 字段uniqueidentifier数据格式转化成字符串型是36个字宽,不能低于它宽度。