【发布时间】:2014-12-18 09:20:10
【问题描述】:
我想创建一个 SELECT,其中我有多个与 IN 运算符一起使用的 GUID。 为什么此查询不返回 Table1UID 等于 @table1IDs 中每个项目的所有行?
DECLARE @table1IDs NVARCHAR(100)
SET @table1IDs = 'b15f554f-90ad-4fab-b3ac-a27bc68f3b21, 72213eb7-1041-408c-9ea1-35a667285c9b'
SELECT * FROM table1
WHERE Table1UID in (@table1IDs)
它只返回 ID 为 'b15f554f-90ad-4fab-b3ac-a27bc68f3b21' 的行。
说明:Table1UID 的类型是 UNIQUEIDENTIFIER
【问题讨论】:
-
GUID 的字符串列表很奇怪 - 看起来设计错误。为什么不是简单的 ID-s (int)?
-
这个查询我只想要用于调试目的。我们使用 GUID 作为主键。
标签: sql sql-server