mysql中case怎么 mysql中case函數(shù)

MYSQL case when 的兩種用法

第一種:簡單Case函數(shù)?

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供富川網(wǎng)站建設、富川做網(wǎng)站、富川網(wǎng)站設計、富川網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、富川企業(yè)網(wǎng)站模板建站服務,十年富川做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

? ? ? ? ? case 列名

when ? 條件值1 ? then ?選擇項1

when ? 條件值2 ? ?then ?選項2.......

else ? ? 默認值 ? ? ?end

第二種:Case搜索函數(shù)

? ? ? ? ? case ?

when ?列名= 條件值1 ? then ?選擇項1

when ?列名=條件值2 ? ?then ?選項2.......

else ? ?默認值 end

比較: 兩種格式,可以實現(xiàn)相同的功能。簡單Case函數(shù)的寫法相對比較簡潔,但是和Case搜索函數(shù)相比,功能方面會有些限制,比如寫判斷式。

還有一個問題,Case函數(shù)只返回第一個符合條件的值,剩下的Case部分將會被自動忽略。如下面這個例子:

CASE col

WHEN col_1 IN ( 'a', 'b') THEN '第一類'

WHEN col_1 IN ('a')? ? ? THEN '第二類'

ELSE'其他' END

這個語句中,滿足條件a永遠不會返回第二類,因為按順序發(fā)現(xiàn)a在第一類的時候查詢就已經(jīng)結束了。所以case無法用于一個東西在一個分類里有不同的屬性的條件。

case when 好處很明顯就是非常易于看懂,相比實現(xiàn)同樣條件用復雜的自連接查詢,在邏輯上很容易看懂(自連接查詢在不同的情況下可能會有BUG)。

MySQL的CASE WHEN用法

case when有兩個用法,一個是行轉(zhuǎn)列,一個是更改列的值

在數(shù)據(jù)分析時經(jīng)常要用到行轉(zhuǎn)列,此時如果使用case when就會方便很多,case when的熟練使用程度,可以說的判斷對SQL操作水平的評定方法之一。

case when的語句在某種程度上可以理解成是if函數(shù)的簡便邏輯寫法,主要有兩種模式:

模式一(簡單變量表達式):

模式二(搜索變量表達式):

通常情況下,模式二的方式會更加靈活,在工作中也推薦使用模式二的寫法(特別是如果有使用Tableau等軟件制作參數(shù)的時候,語法跟模式二的相同的)。

看具體的例子:

如果現(xiàn)在想要看不同學生的平均分和每個課程的成績,并且不同課程按列進行顯示,要怎么操作呢?

這個時候,使用case when就很方便了

當然了,也可以使用case when對學生的成績進行優(yōu)良中差的判斷,這個在工作中的使用場景也是蠻多的,如果有興趣的同學可以自己試著練習看看。

這個就是case when在MySQL中的常用用法。

mysql中的case語句怎么用

簡單 CASE 函數(shù):

CASE?input_expression

WHEN?when_expression?THEN?result_expression

[?...n?]

[?

ELSE?else_result_expression

END

CASE 搜索函數(shù):

CASE????

WHEN?Boolean_expression?THEN?result_expression

[?...n?]

[?

ELSE?else_result_expression

END

比如:

第一種用法:

SELECT?name,

CASE?WHEN?birthday??'1981'?THEN?'old'?

WHEN?birthday??'1988'?THEN?'yong'

ELSE?'ok'?END?YORN

FROM?lee

第二種用法:

SELECT?NAME,?CASE?name

WHEN?'sam'?THEN?'yong'

WHEN?'lee'?THEN?'handsome'

ELSE?'good'??END?as?oldname

FROM?lee

mysql--CASE WHEN 統(tǒng)計多個字段

本文介紹case when

case 包含兩種表達格式:

第一種:簡單case函數(shù)

參數(shù):

input_expression 是使用簡單 CASE 格式時所計算的表達式,是任何有效的SQL表達式。

when when_expression 使用簡單 CASE 格式時 input_expression 所比較的簡單表達式。when_expression 是任意有效的SQL表達式。input_expression 和每個 when_expression 的數(shù)據(jù)類型必須相同,或者是隱性轉(zhuǎn)換。

[ ...n ]占位符 可以使用多個 when when_expression then result_expression 子句或 WHEN boolean_expression THEN result_expression 子句

then result_expression 當 input_expression = when_expression 取值為 true,或者 boolean_expression 取值為 true 時返回的表達式。

result expression 是任意有效的sql表達式。

esle else_result_expression

當比較運算取值不為 TRUE 時返回的表達式。如果省略此參數(shù)并且比較運算取值不為 TRUE,CASE 將返回 NULL 值。else_result_expression 是任意有效的sql表達式。Else_result_expression 和所有 result_expression 的數(shù)據(jù)類型必須相同,或者必須是隱性轉(zhuǎn)換。

舉例說明:

第二種:case搜索函數(shù)

參數(shù)介紹:

WHEN Boolean_expression 使用 CASE 搜索格式時所計算的布爾表達式。

Boolean_expression 是任意有效的布爾表達式。結果類型從 result_expressions 和可選 else_result_expression 的類型集合中返回最高的優(yōu)先規(guī)則類型。有關更多信息,請參見數(shù)據(jù)類型的優(yōu)先順序。

CASE 搜索函數(shù) :返回結果值介紹:

按指定順序為每個 WHEN 子句的 Boolean_expression 求值。返回第一個取值為 TRUE 的 Boolean_expression 的 result_expression。

如果沒有取值為 TRUE 的 Boolean_expression,則當指定 ELSE 子句時 SQL Server 將返回 else_result_expression;若沒有指定 ELSE 子句,則返回 NULL 值。

舉例說明:

case when 具體用法就說到這里,謝謝各位。

本文標題:mysql中case怎么 mysql中case函數(shù)
URL網(wǎng)址:http://muchs.cn/article44/doedohe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器定制網(wǎng)站、網(wǎng)站內(nèi)鏈做網(wǎng)站、品牌網(wǎng)站制作網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化