Sql 如果字段为空或为空,则返回所有行
如果@title为null或为空“”,如何使其返回所有结果 我一直试图用不同的方式来捣乱,但我总是得不到回报。如果没有向参数中输入任何内容,我只需要返回所有行 添加:Sql 如果字段为空或为空,则返回所有行,sql,sql-server-2005,Sql,Sql Server 2005,如果@title为null或为空“”,如何使其返回所有结果 我一直试图用不同的方式来捣乱,但我总是得不到回报。如果没有向参数中输入任何内容,我只需要返回所有行 添加: ... OR @Title IS NULL OR @Title = '' 或使其具有包容性,您不可能让@Title满足这三个标准中的一个以上(除非您的Title字段具有空值或空白值)。添加: ... OR @Title IS NULL OR @Title = '' 或使其具有包容性,您不可能让@Title满足这三个标准中的一个
...
OR @Title IS NULL
OR @Title = ''
或
使其具有包容性,您不可能让@Title
满足这三个标准中的一个以上(除非您的Title
字段具有空值或空白值)。添加:
...
OR @Title IS NULL
OR @Title = ''
或
使其具有包容性,您不可能让@Title
满足这三个标准中的一个以上(除非您的Title
字段具有空值或空白值)。使用:
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,但语句不可搜索,则仅使用该变量。该变量的性能不如将语句分解为该情况所需的状态。使用:
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
变量的长度不为零或空,但语句不可搜索,则仅使用该变量。它的性能不如将语句分解为该情况所需的状态。@Bob,这肯定会起作用,但如果你真的只关心没有任何东西被传递给客户,这可能会有点过头parameter@Bob,这肯定会起作用,但如果您真的只关心没有为参数传递任何内容,那么这可能会有些过分