在带有case语句的select中创建一个字段

时间:2019-04-29 03:14:55

标签: sql-server case

我正在尝试创建一个由case语句填充的字段,但我认为它不起作用。

select 
    case when NVL(rule_id,'') <> '' then 'n' 
    when NVL(rule_id_2, '') <> '' then 'p' else
end as type

我想将这些字段添加到我的结果集中。

1 个答案:

答案 0 :(得分:0)

使用coalesce(或isnull

select 
    case
      when coalesce(rule_id,'') <> '' then 'n' 
      when coalesce(rule_id_2, '') <> '' then 'p'
      else ''
end as type

如果您的意图是,如果rule_id不为null则类型为N,如果rule_id_2不为null则类型为P,则可以使用以下方式:

select
    case
      when rule_id is not null then 'n'
      when rule_id_2 is not null then 'p'
      else ''
    end as tpye