--创建测试表,插入测试数据createtable test(
c1 varchar(50),
c2 varchar(50)
);insertinto test values('1', 'a');insertinto test values('2', 'b');insertinto test values('3', 'c');insertinto test values('4', 'd');insertinto test values('5', 'e');--case后直接列名,相当于等值判定。 如果注释掉else,可运行,对应的值为nullselectcase c1
when'1'then'x'when'2'then'y'else'z'end ggg
from test;--case后没有直接列名,可以做其他条件判断selectcasewhen c1 < '2'then'x'when c1 > '3'then'y'else'z'end ggg
from test;--语法和上面是一样的update test set c1 =
case c1
when'3'then'c'when'4'then'd'else c1
endwhere c1 in ('3','4','5');
1 case-when-then-else-end--创建测试表,插入测试数据create table test( c1 varchar(50), c2 varchar(50));insert into test values('1', 'a');insert into test values('2', 'b');insert into test values('3', '