溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql case 表達式

發(fā)布時間:2020-07-18 04:16:54 來源:網(wǎng)絡(luò) 閱讀:882 作者:ilanqing 欄目:軟件技術(shù)

一、 背景

    resc表保存了系統(tǒng)的一級、二級功能模塊,同時保存了二級功能模塊各頁面的功能,通過pid定義了父子關(guān)系。

    想通過resc表,整理出一份,一級、二級功能模塊的對應關(guān)系,類似于這樣的結(jié)果。

    mysql case 表達式


二、 實現(xiàn)方法

select 
case 
when PID=1 then '用戶管理'
when PID=4 then '代理管理'
when PID=8 then '媒體管理'
when PID=21 then '報表管理'
when PID=26 then '內(nèi)容管理'
when PID=30 then '業(yè)績管理'
when PID=34 then '財務(wù)管理'
END as menu,
`name`,PID 
from resc
where pid in (select id from resc where pid=0)
order by pid

執(zhí)行結(jié)果:

mysql case 表達式

將執(zhí)行結(jié)果,粘貼到excel中,進行合并單元格,即可得到預期結(jié)果,可在excel中,對功能模塊進行跟蹤。


三、 理論

case表達式在sql中,可以實現(xiàn)if-then-else的邏輯。

有兩種類型的case表達式:

  • 簡單case表達式,使用表達式確定返回值;

  • 搜索case表達式,使用條件確定返回值。


  1. 使用簡單case表達式

  • 語法:

case search_expression

    when expression1 then result1

    when expression2 then result2

     ...

    when expressionN then resultN

    else default_result

end


  • 關(guān)鍵字說明:

    •     search_expression, 待求值的表達式,數(shù)據(jù)表的某個字段;

    •     expressionX, 是與search_expression進行比較的表達式;

    •     result1 ,是符合表達式時,返回的值

    •     default_result ,是無法匹配表達式時,默認返回值。



    2. 搜索case表達式

  • 語法:

case 

    when condition1 then result1

    when condition2 then result2

    ...

    when conditionN then resultN

    else default_result

end

  • 關(guān)鍵字說明:

    • condition, 是待求值的表達式;

    • result, 是返回值,condition1為真,則返回result1,以此類推。

    • default_result ,是無法匹配表達式時,默認返回值。



向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI