5

我得到这样的陈述:

SELECT * From Table WHERE Feld IS NULL
SELECT * From Table WHERE Feld IS NOT NULL

现在我想知道如何参数化这个查询:

SELECT * From Table WHERE Feld IS :Value

由于我不能将“NOT NULL”传递给参数,我认为这根本不可能——但也许有人知道解决方案?谢谢!

4

1 回答 1

6

你可以尝试这样的事情(用 Firebird 2.5 测试):

SELECT * FROM TABLE WHERE (IIF(FIELD IS NULL, 'Y', 'N') = :IS_NULL)

然后将'Y'或传递'N'IS_NULL参数。

根据您使用的数据库,您可能需要IIF用一个CASE或类似的构造替换。

于 2012-08-24T09:58:07.607 回答