2 liberty chen liberty_chen 于 2015.05.27 15:35 提问

SQL case when tableA(name1,name2)

当name1为“1”时,name2为 “第一”,
当name1为“2”时,name2为 “第二”,
是否可以用case when 实现 ???

7个回答

diaoliwei2
diaoliwei2   Rxr 2015.05.27 15:50
已采纳

select name1 ,case name1 when '1' then '第一' when '2' then '第二' else name2 end from tableA

lusen123456
lusen123456   2015.05.27 15:40

你这个是要实现什么功能?
表结构也没有,是否可以理解为
select case when name1='1' then 第一 else null end name2,
case when name1='2' then 第二 else null end name2 from tableA;

guwei4037
guwei4037   Ds   Rxr 2015.05.27 15:43

select name1,(case name1 when '1' then '第一' when '2' then '第二' end) name2
from dbo.tableA

danielinbiti
danielinbiti   Ds   Rxr 2015.05.27 15:44
 update tableA set name2=case name1 when 1 then '第一' when 2 then '第二' else name2 end
tongyi55555
tongyi55555   2015.05.27 15:45

你是想给name2赋值吧???问问题要描述清楚想做什么再来,现在好多人都已经不会提问了。

lusen123456
lusen123456   2015.05.27 16:00

select decode(name1, 1, '第一', '第二 ') name2 from tableA;

WindyQCF
WindyQCF   2015.05.27 16:14

select name1 ,case name1 when '1' then '第一' when '2' then '第二' else name2 end from tableA;

select decode(name1, 1, '第一', 2,'第二 ',name1) name1 from tableA;

Csdn user default icon
上传中...
上传图片
插入图片