我做存储过程的时候,遇到这个问题“数据类型 varchar 和 uniqueidentifier 在 add 运算符中不兼容”实际例子如下:
declare @query varchar(300)
declare @id uniqueidentifierselect @id = id from tag where name = 'abc'set @query = 'select * from Shop where Id=''' +@Id+ ''''exec (@query)在set @query = 'select * from Shop where Id=''' +@Id+ '''' 这句就报错,请问怎样才能将uniqueidentifier值加到varchar上去呢?
不然我这东西没法做了谢谢!
declare @query varchar(300)
declare @id uniqueidentifierselect @id = id from tag where name = 'abc'set @query = 'select * from Shop where Id=''' +@Id+ ''''exec (@query)在set @query = 'select * from Shop where Id=''' +@Id+ '''' 这句就报错,请问怎样才能将uniqueidentifier值加到varchar上去呢?
不然我这东西没法做了谢谢!
uniqueidentifier
全局唯一标识符 (GUID)。注释
uniqueidentifier 数据类型的列或局部变量可用两种方法初始化为一个值: 使用 NEWID 函数。
将字符串常量转换为如下形式(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字)。例如,6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 uniqueidentifier 值。
比较运算符可与 uniqueidentifier 值一起使用。然而,排列并非通过比较两个值的位模式来实现。允许对 uniqueidentifier 值执行的操作只有比较 (=, <>, <, >, <=, >=) 和检查 NULL(IS NULL 和 IS NOT NULL)。不允许使用其它算术运算符。所有的列约束及属性(IDENTITY 除外)均允许用于 uniqueidentifier 数据类型。