SQL多条件查询,在搜索中输入空值不会得到任何结果
本文关键字:空值 结果 任何 输入 条件 查询 搜索 SQL | 更新日期: 2023-09-27 18:12:21
net web应用程序与搜索页面我有3个文本框做过滤搜索,如果我在所有文本框中输入文本,结果将显示,但当我只在一个文本框中输入文本,结果不显示我的问题是我如何能够搜索数据,如果我只在一个文本框或两个或所有文本框中输入文本,我的查询显示如下:
SELECT Emp_NUM, Full_name, Mother_Name, Date_of_Birth, Province_of_birth, Job
FROM [Emp Main Table]
WHERE (Full_name LIKE '%' + @Full_name + '%' OR Full_name IS NULL) AND
(Mother_Name LIKE '%' + @Mother_Name + '%' OR Mother_Name IS NULL) AND
(Date_of_Birth LIKE '%' + @Date_of_Birth + '%' OR Date_of_Birth IS NULL)
使用说明:
rtrim(coalesce(@Full_name, '')) = ''
代替:
@Full_name is null
检查空值或空白值
可能是这样的:
SELECT [Emp_NUM]
,[Full_name]
,[Mother_Name]
,[Date_of_Birth]
,[Province_of_birth]
,[Job]
FROM [Emp Main Table]
WHERE ([Full_name] LIKE '%'+@Full_name+'%' OR RTRIM(COALESCE(@Full_name,''))='')
AND ([Mother_Name] LIKE '%'+@Mother_Name+'%' OR RTRIM(COALESCE(@Mother_Name,''))='')
AND ([Date_of_Birth] LIKE '%'+@Date_of_Birth+'%' OR RTRIM(COALESCE(@Date_of_Birth,''))='')