SELECTid,`NAME`,province,city, phone, CASEsex WHEN'M'THEN'男' WHEN'F'THEN'女' END ASsex FROM`person_info` pi SELECTid,`NAME`, province, city, sex, CASEphone WHENISNULL(pi.phone)THEN(SELECT oe.empPhone FROM oa_emp oe WHERE oe.accNum='1') ELSEPI.phone END ASphone FROMperson_in...
SELECTW_Time,COUNT(CASEWHENwor='赢'THEN1END)AS'赢',COUNT(CASEWHENwor='输'THEN1END)AS'输' FROMWinOrGohomeGROUPBYW_Time
搜索函数则不需要指定列名,它是对于一条记录的所有字段都可以进行操作,并且可以写判断,它找到第一个符合条件的值之后就会返回,其他case就被忽略 例子1 SELECT name, CASE WHEN age < 18 THEN '未成年' WHEN age >= 18 AND age <= 60 THEN '成年' ELSE '退休' END AS age_group FROM users; 1. 2. ...
9,12)THENpay_amtEND)ASBank_Card,SUM(CASEWHENpay_typeIN(2,4,8,11)THENpay_amtEND)ASAli_Pay...
(CASE WHEN 英语>=90 THEN '优秀' WHEN 英语<60 THEN '不及格' ELSE '良好' END) AS 英语 FROM score2 2、图⼀要求得到图⼆,统计输赢的数量:SELECT W_Time, COUNT(CASE WHEN wor='赢' THEN 1 END) AS '赢', COUNT(CASE WHEN wor='输' THEN 1 END) AS '输' FROM WinOrGohome GROUP BY...
CASE WHEN condition THEN result WHEN condition THEN result Else result END AS new_column_name FROM table_name; ``` 其中,`column_name`是要进行条件分类的列名,`table_name`是包含数据的表名。`condition`是一个逻辑表达式,它用于测试是否满足特定条件。如果条件成立,则执行相应的结果。可以使用多个WHEN子句...
SELECT employee_id, name, department_id, CASE department_id WHEN 1 THEN 'HR' WHEN 2 THEN 'Engineering' WHEN 3 THEN 'Marketing' ELSE 'Unknown' END AS department_name FROM employees; 示例2:搜索 CASE 表达式 假设我们仍然使用 employees 表,但这次我们要根据员工的工资水平分类他们的薪资等级。 SELE...
when后面是表达式 select name, salary, case when salary >= 5000 then 'T1' when salary >= 4000 then 'T2' when salary >= 3000 then 'T3' when salary >= 2000 then 'T4' else 'T5' end as salary_level from staff ; +---+---+---+ | name | salary | salary_level...
END AS grade FROM students; 在这个例子中,我们在每个WHEN子句中使用了AND运算符来连接两个条件,分别判断学生的成绩和年龄是否满足要求。 4. 注意事项 在使用CASE WHEN语句连接多个条件时,需要注意以下几点: 确保每个条件都是有效的,否则可能导致错误或意外的结果。
简单形式的CASE WHEN语句,用于判断某一行中某一列的值是否满足某种条件,如果满足则返回某一结果,否则返回另外结果。例如,以下语句可以用于计算某一行中某一列数据的折扣百分比:SELECT CASE WHEN Price > 100 THEN 0.9 WHEN Price > 50 THEN 0.8 ELSE 0.7 END AS Discount FROM TableName 2、搜索形式的...