【发布时间】:2015-04-27 20:42:24
【问题描述】:
代码:
declare @fruit varchar(70)
set @fruit='apple'
select * from supermarket where fruitType=@fruit
如果变量@fruit 设置为'ALL',我该怎么做才能使select 语句检索表中的所有值?
【问题讨论】:
代码:
declare @fruit varchar(70)
set @fruit='apple'
select * from supermarket where fruitType=@fruit
如果变量@fruit 设置为'ALL',我该怎么做才能使select 语句检索表中的所有值?
【问题讨论】:
如果你这样写查询:
select *
from supermarket
where fruitType=@fruit OR @fruit = 'ALL'
然后,如果@fruit 等于'ALL',WHERE 子句的计算结果为真。
【讨论】:
您可以明确检查ALL 值:
SELECT *
FROM supermarket
WHERE @fruit IN ('ALL', fruitType)
【讨论】: