SQL if/case 语句 - 从数据库返回值



我在MS Sql服务器中使用sql命令时遇到问题.....我想检查表中的名称。列中有例如卡尔、洛伊乌斯、曼弗雷德、珍妮......有什么方法可以创建案例或if语句:

Case  when name = 'Carl' then 'Man'
else Return original value(name) from table?

(路易斯,曼弗雷德,珍妮( ?

如果是,我怎样才能实现?案例陈述?如果声明?提前致谢

你可以做:

 select (Case when name = 'Carl' then 'Man' else name end)

你的意思是这样的?

select name,
       case when name = 'Carl' then 'Man' 
            when name = 'Jenny' then 'women'
       else name end
from   yourtable
  Select case when name in ('Carl','Manfred',....) 
   Then 'Man' else 'Women' end as gender 
    from your_table

另一个(写得更短(选项是使用 nullif 和 isnull:

SELECT ISNULL(NULLIF(name, 'Carl'), name)) as name
FROM yourTable.

如果两个参数相等,则 NULLIF 函数将返回 null,ISNULL将返回第一个参数,除非它是 null - 在这种情况下,它将返回第二个参数。

最新更新