如何在字符串不等于某个值时选择大小写然后将另一个字段留空?

时间:2014-09-02 14:23:21

标签: sql

我有一些像" OrderfieldNumber,购买者,物品。我想创建一个声明,其中: 如果购买者不是ABC',' DEF' GHK'然后OrderFieldNumber为空。我的目的只是想与那些买家展示OrderFieldNumber,我想在不使用Filter功能的情况下忽略其他买家。我试过了:

case
when purchaser <> 'ABC' then OrderFieldNum = ' '
when purchaser <> 'DEF' then OrderFieldNum = ' '
when purchaser <> 'GHK' then OrderFieldNum = ' '
ELSE purchaser end as FilteredOrderField

但它似乎没有成功。

2 个答案:

答案 0 :(得分:5)

case when purchaser not in ('ABC','DEF','GHK') 
     then ' '
     else OrderFieldNum 
end as FilteredOrderField

答案 1 :(得分:1)

使用not in

将其放在一个语句中
(case when purchaser not in ('ABC', 'DEF', 'GHK') then ' '
      else purchaser
 end) as FilteredOrderField

编写它的方式,每个非NULL值将匹配前两个条件之一,导致空白。

另外,请勿在{{1​​}}的{​​{1}}部分使用=