【发布时间】:2015-07-15 10:47:35
【问题描述】:
我有一个简单的查询,我想在列中搜索一个值,如果没有找到匹配项,那么我想丢弃 where 条件并从该列中选择任何随机值。
我尝试使用OR 条件,使用案例来实现这一点,但无济于事
select top 10 *
from tblRFCWorkload
where (f1 ='mbb' or f1 = f1)
在上面的查询中,我希望结果表的所有行都带有“mbb”,如果没有找到“mbb”,则给出任何值而不是 mbb。但是,即使有 10 行匹配,它也只返回两行 mbb
select top 10 *
from tblRFCWorkload
where 1 = case when f1 = 'mbb' then 1 else 1 end
此查询也返回与第一个查询相同的结果
如果我把它改成
select top 10 *
from tblRFCWorkload
where 1 = case when f1 = 'mbb' then 1 else 0 end
那么它只有具有 mbb 值的行。
需要与 between 子句类似的东西...如果没有找到结果,则搜索一个范围然后搜索第二个范围...我该怎么做???
【问题讨论】:
-
现在我希望对操作符之间做同样的事情......如果没有找到第一个范围的值,那么只能按第二个范围过滤..我该怎么做?
标签: sql sql-server sql-server-2008 between