mysql中case when的作用是什么?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
mysql case when的用法是:1、用作簡單搜索,語法為【CASE [col_name] WHEN [value1]】;2、用作搜索,語法為【ASE WHEN [expr] THEN [result1]】。
【相關學習推薦:mysql教程(視頻)】
mysql case when的用法是:
MySQL 的 case when 的語法有兩種:
簡單函數
CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END
搜索函數
CASE WHEN [expr] THEN [result1]…ELSE [default] END
這兩種語法有什么區別呢?
簡單函數
CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END: 枚舉這個字段所有可能的值*
SELECT NAME '英雄', CASE NAME WHEN '德萊文' THEN '斧子' WHEN '德瑪西亞-蓋倫' THEN '大寶劍' WHEN '暗夜獵手-VN' THEN '弩' ELSE '無' END '裝備' FROM user_info; 復制代碼 復制代碼 SELECT NAME '英雄', CASE NAME WHEN '德萊文' THEN '斧子' WHEN '德瑪西亞-蓋倫' THEN '大寶劍' WHEN '暗夜獵手-VN' THEN '弩' ELSE '無' END '裝備' FROM user_info;
搜索函數
CASE WHEN [expr] THEN [result1]…ELSE [default] END:搜索函數可以寫判斷,并且搜索函數只會返回第一個符合條件的值,其他case被忽略
# when 表達式中可以使用 and 連接條件 SELECT NAME '英雄', age '年齡', CASE WHEN age < 18 THEN '少年' WHEN age < 30 THEN '青年' WHEN age >= 30 AND age < 50 THEN '中年' ELSE '老年' END '狀態' FROM user_info;
聚合函數 sum 配合 case when 的簡單函數實現行轉列 SELECT st.stu_id '學號', st.stu_name '姓名', sum( CASE co.course_name WHEN '大學語文' THEN sc.scores ELSE 0 END ) '大學語文', sum( CASE co.course_name WHEN '新視野英語' THEN sc.scores ELSE 0 END ) '新視野英語', sum( CASE co.course_name WHEN '離散數學' THEN sc.scores ELSE 0 END ) '離散數學', sum( CASE co.course_name WHEN '概率論與數理統計' THEN sc.scores ELSE 0 END ) '概率論與數理統計', sum( CASE co.course_name WHEN '線性代數' THEN sc.scores ELSE 0 END ) '線性代數', sum( CASE co.course_name WHEN '高等數學' THEN sc.scores ELSE 0 END ) '高等數學' FROM edu_student st LEFT JOIN edu_score sc ON st.stu_id = sc.stu_id LEFT JOIN edu_courses co ON co.course_no = sc.course_no GROUP BY st.stu_id ORDER BY NULL;
感謝各位的閱讀!看完上述內容,你們對mysql中case when的作用是什么大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。