SQL中的Guid验证

时间:2016-07-26 05:23:39

标签: c# sql

我正在通过GUID过滤SQL中的记录,如果Guid为空,则跳过过滤器,但如果它有一些值,则根据过滤器获取记录。

我正在使用

WHERE USERID = IIF(@FILTERUSER IS NULL, AD.USERID, @FILTERUSER)  

UserIdFILTERUSER的类型为uniqueidentifier

但它不起作用。请帮助。

1 个答案:

答案 0 :(得分:1)

我使用CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER)代替NULL解决了这个问题。

所以工作代码是:

WHERE USERID = IIF(@FILTERUSER = CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER, AD.USERID, @FILTERUSER)