2016-07-26 16 views
-2

GUIDを使用してSQLのレコードをフィルタリングしていますが、Guidが空の場合はフィルタをスキップしますが、値がある場合はフィルタに基づいてレコードをフェッチします。私はSQLのGUID検証

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

UserIdFILTERUSERを使用しています

はタイプuniqueidentifierです。

しかし、動作していません。親切に助けてください。

+1

? 'mysql'、' postgresql'、 'sql-server'、' oracle'、 'db2'のどれかを指定するタグを追加してください。 –

答えて

1

NULLの代わりにCAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER)を使用して問題を解決しました。

ので、作業コードは次のとおりです。RDBMSはこのです

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