SQL 中的 GUID 验证

本文关键字:验证 GUID 中的 SQL | 更新日期: 2023-09-27 17:58:38

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

我正在使用

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

UserIdFILTERUSER属于 uniqueidentifier 型。

但它不起作用。请帮忙。

SQL 中的 GUID 验证

我通过使用CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER)而不是NULL解决了这个问题。

所以工作代码是:

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