1、情况说明
假设存在T表,里面的数据可能为
name | value |
---|---|
a | 1 |
b | 2 |
合计 | 3 |
也有可能是
name | value |
---|---|
合计 | NULL |
即,除了合计行外,可能没有数据,那么我希望返回记录的时候,如果是第二种情况,返回空集
2、解决方法
由于之前没这么写过,第一时间问了度娘,看到了IF THEN ELSE.....的写法
IF EXP1 THEN
....
ELSE IF EXP2 THEN
...
ELSE
...
END
试了发现事情没那么简单,到底正确写法是怎么样的,先不管了,有空在看看书
贴上我的写法
if EXISTS(select 1 from T where T.name not like '%合计%')
begin
select * from T
end
else
select * from T where T.name not like '%合计%' --这样,为空时,不返回任何一行内容
更多推荐
SQL中用IF语句 根据条件执行不同语句
发布评论