以下是示例表的脚本
DECLARE @tbl TABLE (ID int)
INSERT INTO @tbl VALUES(1), (2), (NULL), (3), (NULL), (1)
我想要列上的三个条件ID
SELECT * FROM @tbl WHERE ID -- Can't figure out
- 如果用户想要所有行
- 如果用户想要 ID 为 NULL 的行
- 如果用户想要 ID 不为 NULL 的行
我可以通过将我的查询放在字符串中来做到这一点,但是在长查询中只有一个这样的条件,所以我不想将所有查询都放在字符串中。
编辑:回应@Tim Schmelter。抱歉,我无法明确表达我的观点。用户将从前端选择他/她希望所有行仅给出 ID 的行或未给出 ID 的行
在长查询中,一个条件是这样的
@id INT // Value from front end like 'All', 'Products', 'No Products'
WHERE ID = @ID // Here I can't figure out that how to use one of three conditions
如果我仍然无法解释我的问题,请告诉我。我会再试一次。
谢谢。