校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > MySQL流程函數常見用法實例分析

MySQL流程函數常見用法實例分析

熱門標簽:安徽ai電話電銷機器人有效果嗎 常州網絡外呼系統(tǒng)開發(fā) 巫師三血與酒地圖標注 萊西市地圖標注 外呼系統(tǒng)電銷受騙 在哪里申請400電話 400電話申請信用卡 銷售語音電話機器人 走過哪個省地圖標注

本文實例講述了MySQL流程函數常見用法。分享給大家供大家參考,具體如下:

流程函數是MySQL相對常用的一類函數, 用戶可以使用這類函數在一個SQL語句中實現條件選擇, 這樣能夠提高效率.

下面列出了MySQL跟條件有關的流程函數

函數 功能
IF(expr1,expr2,expr3) 如果expr1是真, 返回expr2, 否則返回expr3
IFNULL(expr1,expr2) 如果expr1不是NULL,返回expr1,否則返回expr2
CASE WHEN [value1] THEN[result1]… ELSE[default] END 如果value是真, 返回result1,否則返回default
CASE [expr] WHEN [value1] THEN[result1]… ELSE[default] END 如果expr等于value1, 返回result1,否則返回default

下面的例子中模擬對職員進行分類,首先創(chuàng)建一個職員薪水表:

create table salary(userid int, salary decimal(9,2));

插入一些測試數據

insert into salary values (1,1000),(2,2000),(3,3000),(4,4000),(5,5000),(1,null);

數據如下

mysql> select * from salary;
+--------+---------+
| userid | salary |
+--------+---------+
| 1 | 1000.00 |
| 2 | 2000.00 |
| 3 | 3000.00 |
| 4 | 4000.00 |
| 5 | 5000.00 |
| 1 | NULL |
+--------+---------+
6 rows in set (0.00 sec)

接下來, 通過這個表來介紹各個函數的應用.

IF(expr1,expr2,expr3)函數: 這里認為月薪在2000元以上的職員屬于高薪, 用"high'表示; 而2000以下的職員屬于低薪, 用'low'來表示.

mysql> select if(salary>2000, 'high', 'low') from salary;    
+--------------------------------+
| if(salary>2000, 'high', 'low') |
+--------------------------------+
| low              |
| low              |
| high              |
| high              |
| high              |
| low              |
+--------------------------------+
6 rows in set (0.00 sec)

IFNULL(expr1,expr2)函數: 這個函數一般用來替換NULL值, 我們知道NULL值是不能參參與數值運算的, 下面這個語句就是把NULL值用0替換.

mysql> select ifnull(salary,0) from salary;
+------------------+
| ifnull(salary,0) |
+------------------+
|     1000.00 |
|     2000.00 |
|     3000.00 |
|     4000.00 |
|     5000.00 |
|       0.00 |
+------------------+
6 rows in set (0.00 sec)

CASE WHEN [value1] THEN[result1]… ELSE[default] END函數:這里可以用case when..then函數實現上面例子中高薪低薪的問題.

mysql> select CASE WHEN salary=2000 THEN 'low' else 'high' END from salary;
+---------------------------------------------------+
| CASE WHEN salary=2000 THEN 'low' else 'high' END |
+---------------------------------------------------+
| low                        |
| low                        |
| high                       |
| high                       |
| high                       |
| high                       |
+---------------------------------------------------+
6 rows in set (0.00 sec)

CASE [expr] WHEN [value1] THEN[result1]… ELSE[default] END函數:這里還可以分為多種情況把職員的薪水分為多個檔次,比如下面的例子分成高、中、低3種情況。同樣可以分成更多種情況,這里不再舉例了,有興趣的朋友可以自己測試一下

mysql> select CASE salary WHEN 1000 THEN 'low' when 2000 THEN 'mid' ELSE 'high' END from salary;
+-----------------------------------------------------------------------+
| CASE salary WHEN 1000 THEN 'low' when 2000 THEN 'mid' ELSE 'high' END |
+-----------------------------------------------------------------------+
| low                                  |
| mid                                  |
| high                                 |
| high                                 |
| high                                 |
| high                                 |
+-----------------------------------------------------------------------+
6 rows in set (0.00 sec)

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數據庫鎖相關技巧匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

您可能感興趣的文章:
  • MySQL處理JSON常見函數的使用
  • PHP操作MySQL的mysql_fetch_* 函數的常見用法教程
  • 詳解Mysql函數調用優(yōu)化
  • MySQL中sum函數使用的實例教程
  • MySQL切分函數substring()的具體使用
  • MySQL的DATE_FORMAT函數的使用
  • Mysql基礎之常見函數

標簽:河北 黃石 果洛 煙臺 鞍山 赤峰 陽江 來賓

巨人網絡通訊聲明:本文標題《MySQL流程函數常見用法實例分析》,本文關鍵詞  MySQL,流程,函數,常見,用法,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL流程函數常見用法實例分析》相關的同類信息!
  • 本頁收集關于MySQL流程函數常見用法實例分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 建水县| 长葛市| 嘉兴市| 东光县| 宁南县| 潼关县| 凤冈县| 陕西省| 卫辉市| 望江县| 祁阳县| 延边| 星子县| 龙州县| 潞城市| 无锡市| 灵宝市| 江口县| 高台县| 禹州市| 北宁市| 突泉县| 张家界市| 彰化市| 手游| 九寨沟县| 双流县| 定西市| 静乐县| 镇远县| 盘锦市| 海淀区| 健康| 晋宁县| 饶河县| 酉阳| 吉木萨尔县| 昔阳县| 庄浪县| 滨海县| 章丘市|