SQL if / case语句 - 从db返回值

时间:2017-03-30 10:55:29

标签: sql sql-server

我在MS Sql server中遇到sql命令问题..... 我想检查表中的名字。在列中是例如Carl,Loius,Manfred,Jenny .... 有没有办法,创建case或if语句:

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

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

如果是,我该如何实现?案例陈述?如果声明? 提前致谢

4 个答案:

答案 0 :(得分:4)

你可以这样做:

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

答案 1 :(得分:3)

你的意思是这样的吗?

select name,
       case when name = 'Carl' then 'Man' 
            when name = 'Jenny' then 'women'
       else name end
from   yourtable

答案 2 :(得分:2)

  Select case when name in ('Carl','Manfred',....) 
   Then 'Man' else 'Women' end as gender 
    from your_table

答案 3 :(得分:2)

另一个(写入较短)选项是使用nullif和isnull:

// Open a file:
f, err := os.Open("myfile.txt")
if err != nil {
    panic(err) // Handle error
}

mwc := &MyWriteCloser{f, bufio.NewWriter(f)}
defer mwc.Close()

// use mwc

如果两个参数都是equale,SELECT ISNULL(NULLIF(name, 'Carl'), name)) as name FROM yourTable. 函数将返回null,NULLIF将返回第一个参数,除非它是null - 在这种情况下它将返回第二个参数。