Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如果字段为空或为空,则返回所有行_Sql_Sql Server 2005 - Fatal编程技术网

Sql 如果字段为空或为空,则返回所有行

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满足这三个标准中的一个

如果@title为null或为空“”,如何使其返回所有结果

我一直试图用不同的方式来捣乱,但我总是得不到回报。如果没有向参数中输入任何内容,我只需要返回所有行

添加:

...
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,这肯定会起作用,但如果您真的只关心没有为参数传递任何内容,那么这可能会有些过分