1、情况说明

假设存在T表,里面的数据可能为

namevalue
a1
b2
合计3

也有可能是

namevalue
合计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语句 根据条件执行不同语句