【发布时间】:2018-08-27 15:51:33
【问题描述】:
我在 SQL Server 中有一个存储过程。我的应用程序中有一个过滤页面,我想选择所有CDT_ID,如果我不输入名称以及lower_age和upper_age,它将显示所有CDT_ID。但是如果我输入姓名和年龄,它将显示所有CDT_ID,其中CDT_NAME AND CDT_AGE 范围就像我在过滤列中输入的一样。我的查询如下所示:
select CDT_ID from CANDIDATE
where CDT_NAME LIKE iif(@name is null, '', @name)
AND CDT_NAME between (iif(@lower_age is null, '', @lower_age) and iif(@upper_age is null, '', @upper_age))
问题是当我执行我的存储过程时,我的查询结果什么也没显示。如果我在没有显示很多CDT_ID 的地方运行查询。你知道如何修复我的“where”子句吗?
【问题讨论】:
标签: sql sql-server stored-procedures where-clause iif