mysql case when 用法(条件查询,字符排序等)

语法

注意when子句的排他性,当满足when子句执行后就不再比较其他子句

  1. 基本case函数
CASE case_value
	WHEN when_value THEN
		statement_list1
	ELSE
		statement_list2
END CASE;

当case_value列等于when_value时值为statement_list1,否则为statement_list2
例如

select name,
	case name
		when 'a' then 
		'第一个字母'
		when 'b' then
		'第二个字母'
		else
		'其他字母'
	end new_name
from user
  1. case搜索函数
CASE
	WHEN conditional_statement THEN
		statement_list
	ELSE
		statement_list
END CASE;

当满足conditional_statement条件时,case为statement_list,end后跟新取的此statement_list的列名
例如:

SELECT name,
CASE
	WHEN name = 'a' THEN
		3
	WHEN name = 'b' THEN
		2
	else
		1
END new_name
from user
其他使用

对一个可能有不同字符的列进行排序

select * from user
order by
	case
		when name = ‘a’ then 3  
		when name = ‘b’ then 2  
		else 1
	end
DESC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值