解释: SELECT case ---如果 when sex='1' then '男' ---sex='1',则返回值'男' when sex='2' then '女' ---sex='2',则返回值'女' else 0 ---其他的返回'其他’ end ---结束 from sys_user ---整体理解: 在sys_user表中如果sex='1',则返回值'男'如果sex='2',则返回值'女' 否则...
when字段值then返回值 when字段值then返回值 when字段值then返回值 。。。 else默认值end 别名; 当有多个字段需要转换时: case when字段名1=字段值11 and字段名2=字段值2 and。。。then返回值 when字段名1=字段值12 and字段名2=字段值3 and。。。then返回值 when字段名1=字段值13 and字段名2=字段值4 an...
selectdate_year ,sum(casewhenwin_loss='胜'then1else0end)'胜场数',sum(casewhenwin_loss='负'then1else0end)'负场数',sum(casewhenwin_loss='平'then1else0end)'平场数'fromscoresgroupbydate_year; 由例一可以发现,使用 case when then else then 时 是每一条语句都去执行一遍。 例二:数据集如...
SELECT CASE WHEN b.is_leave = 0 THEN '在职' WHEN b.is_leave = 1 THEN '离职' ELSE ...
SELECT id, CASE status WHEN ‘active’ THEN ‘已激活’ WHEN ‘inactive’ THEN ‘未激活’ ELSE ‘未知状态’ END AS ‘status_label’ FROM users; “` 在这个例子中,针对users表中的status字段进行了转换,将其值映射为更具描述性的字符串标签。
在工资等级判断上,也可以用case when,如SELECT语句中:CASE WHEN salary <= 500 THEN '1' ... END,来统计每个工资等级的人数。在检查(check)约束中,case when能灵活处理复杂的逻辑,如公司规定女性职员工资必须高于1000,可以表示为:CONSTRAINT check_salary CHECK (CASE WHEN sex = '2' THEN...
ELSE '其他' END FROM SYS_SCHEDULER ---用法二: SELECT STATE CASE WHEN '1' THEN '成功' WHEN '2' THEN '失败' ELSE '其他' END FROM SYS_SCHEDULER 列子: 有员工表empinfo ( Fempno varchar2(10) not null pk, Fempname varchar2(20) not null, ...
WHEN '日本' THEN '亚洲' WHEN '美国' THEN '北美洲' WHEN '加拿大' THEN '北美洲' WHEN '墨西哥' THEN '北美洲' ELSE '其他' END; 同样的,我们也可以用这个方法来判断工资的等级,并统计每一等级的人数。SQL代码如下; SELECT CASE WHEN salary <= 500 THEN '1' ...
WHEN '中国' THEN '亚洲' WHEN '印度' THEN '亚洲' WHEN '日本' THEN '亚洲' WHEN '美国' THEN '北美洲' WHEN '加拿大' THEN '北美洲' WHEN '墨西哥' THEN '北美洲' ELSE '其他' END; 同样的,我们也可以用这个方法来判断工资的等级,并统计每一等级的人数。SQL代码如下; SELECT CASE WHEN salary <...
MySql中casewhenthenelseend的⽤法 解释:SELECT case ---如果 when sex='1' then '男' ---sex='1',则返回值'男'when sex='2' then '⼥' ---sex='2',则返回值'⼥'else 0 ---其他的返回'其他’end ---结束 from sys_user ---整体理解:在sys_user表中如果sex='1'...