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
發佈了17 篇原創文章 · 獲贊 5 · 訪問量 4162
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章