mysql case when的用法是:1、用作簡單搜索,語法為【CASE [col_name] WHEN [value1]】;2、用作搜索,語法為【ASE WHEN [expr] THEN [result1]】。
創新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于成都做網站、網站建設、子洲網絡推廣、微信小程序定制開發、子洲網絡營銷、子洲企業策劃、子洲品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們大的嘉獎;創新互聯為所有大學生創業者提供子洲建站搭建服務,24小時服務熱線:028-86922220,官方網址:vcdvsql.cn
【相關學習推薦: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;
想了解更多編程學習,敬請關注php培訓欄目!
文章題目:mysqlcasewhen的用法是什么
瀏覽路徑:http://vcdvsql.cn/article4/chspie.html
成都網站建設公司_創新互聯,為您提供企業網站制作、網站營銷、微信公眾號、企業建站、品牌網站制作、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯