如何在动态查询中连接uniqueidentifier

Yas*_*med 10 sql-server dynamic

我有一个动态查询,我想连接uniqueidentifier,但+和&运算符不支持这个,有没有办法我可以将uniqueidentifier连接到动态字符串.在这方面的任何样本或任何帮助将被高度评价.

Fra*_*ger 10

您是否先尝试过转换或转换为字符串,然后结束?

CAST(NEWID() AS NVARCHAR(36))
Run Code Online (Sandbox Code Playgroud)


小智 8

我知道这已经过时了,但是我试着找出同样的事情,但我遇到的问题是,我的唯一标识符周围没有足够的内容.我基本上有:

'SELECT * FROM Interface WHERE ID = '' + CAST(@InterfaceID AS NVARCHAR(36)) + '' AND 1 = 1'

我收到一个错误,说00A附近的语法不正确(GUID的第一部分).问题是这是解析为:

SELECT * FROM Interface WHERE ID = 00A3F5B5-C7B3-4128-B03A-EADE79129F40 AND 1 = 1

通过将我的查询更改为:

'SELECT * FROM Interface WHERE ID = ''' + CAST(@InterfaceID AS NVARCHAR(36)) + ''' AND 1 = 1'

我得到了三个撇号:

SELECT * FROM Interface WHERE ID = '00A3F5B5-C7B3-4128-B03A-EADE79129F40' AND 1 = 1

哪个是对的.

希望有所帮助.