如果@title为null或其空白''?
,如何使此返回所有结果@title varchar
AS
SELECT *
FROM mydb
Where (Title = @title)
我一直试图以不同的方式搞乱,但我总是得不到行返回。如果没有任何内容输入参数,我只需要返回所有行。
答案 0 :(得分:4)
添加:
...
OR @Title IS NULL
OR @Title = ''
OR
使其具有包容性,并且您无法@Title
满足这三个条件中的一个以上(除非您的Title
字段具有NULL
或空白值)。
答案 1 :(得分:1)
使用:
IF LEN(@title) > 0 THEN
BEGIN
SELECT * FROM mydb t
WHERE t.title = @title
END
ELSE
BEGIN
SELECT * FROM mydb
END
您可以使用:
SELECT *
FROM mydb
WHERE (LEN(@title) = 0 OR t.title = @title)
...只使用@title
变量,如果它不是零长度或NULL,但是该语句不是sargable - 它不会像将语句分解为它需要的那样好为了这种情况。