sql case when 条件

UPDATE
    cw_party tp,cw_shop ts
SET
    tp.state = 3,
    ts.bonus_average =CASE WHEN ts.bonus_average > 0THEN (50 + ts.bonus_average) / 2ELSE 50END,
    tp.update_time = 1510629839,
    ts.update_time = 1510629839
WHERE
    tp.id = 470
    AND ts.id = 49

简单Case函数

select
	case   job_level
	when     '1'     then    '1111'
	when   '2'     then    '1111'
	when   '3'     then    '1111'
	else       'eee' end
from     dbo.employee

Case搜索函数

update  employee
	set         e_wage =
	case
	when   job_level = '1'    then e_wage*1.97
	when   job_level = '2'   then e_wage*1.07
	when   job_level = '3'   then e_wage*1.06
	else     e_wage*1.05
	end

放在聚合函数中使用

select 
    a,
    max(case when b="A" then c end) col_A,
    max(case when b="B" then c end) col_B
from t1
group by a;

作者:spike

分类: Mysql

创作时间:2023-06-25

更新时间:2024-12-09

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1