最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL流程函數(shù)常見用法實(shí)例分析

 更新時(shí)間:2019年12月27日 10:22:34   作者:雪山飛豬  
這篇文章主要介紹了MySQL流程函數(shù)常見用法,結(jié)合實(shí)例形式分析了mysql流程函數(shù)功能、常見使用方法與操作注意事項(xiàng),需要的朋友可以參考下

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

流程函數(shù)是MySQL相對常用的一類函數(shù), 用戶可以使用這類函數(shù)在一個(gè)SQL語句中實(shí)現(xiàn)條件選擇, 這樣能夠提高效率.

下面列出了MySQL跟條件有關(guān)的流程函數(shù)

函數(shù) 功能
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

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

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

插入一些測試數(shù)據(jù)

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

數(shù)據(jù)如下

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)

接下來, 通過這個(gè)表來介紹各個(gè)函數(shù)的應(yīng)用.

IF(expr1,expr2,expr3)函數(shù): 這里認(rèn)為月薪在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)函數(shù): 這個(gè)函數(shù)一般用來替換NULL值, 我們知道NULL值是不能參參與數(shù)值運(yùn)算的, 下面這個(gè)語句就是把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函數(shù):這里可以用case when..then函數(shù)實(shí)現(xiàn)上面例子中高薪低薪的問題.

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函數(shù):這里還可以分為多種情況把職員的薪水分為多個(gè)檔次,比如下面的例子分成高、中、低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)

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

希望本文所述對大家MySQL數(shù)據(jù)庫計(jì)有所幫助。

相關(guān)文章

  • Myeclipse連接mysql數(shù)據(jù)庫心得體會

    Myeclipse連接mysql數(shù)據(jù)庫心得體會

    這篇文章主要為大家詳細(xì)介紹了MyEclipse連接MySQL數(shù)據(jù)庫圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • mysql拆分字符串作為查詢條件的示例代碼

    mysql拆分字符串作為查詢條件的示例代碼

    本文主要介紹了mysql拆分字符串作為查詢條件的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • MySQL中表的幾種連接方式

    MySQL中表的幾種連接方式

    這篇文章主要給大家介紹了關(guān)于MySQL中表的幾種連接方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 分析一條sql的性能的標(biāo)準(zhǔn)總結(jié)

    分析一條sql的性能的標(biāo)準(zhǔn)總結(jié)

    在本篇文章里小編給各位分享了關(guān)于分析一條sql的性能的相關(guān)知識點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-07-07
  • MySQL中IF語句的基礎(chǔ)及進(jìn)階用法

    MySQL中IF語句的基礎(chǔ)及進(jìn)階用法

    在Mysql數(shù)據(jù)庫中實(shí)現(xiàn)判斷功能有很多方式,具體又分為函數(shù)和if語句形式,下面這篇文章主要給大家介紹了關(guān)于MySQL中IF語句的基礎(chǔ)及進(jìn)階用法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • MySQL查看鎖的實(shí)現(xiàn)代碼

    MySQL查看鎖的實(shí)現(xiàn)代碼

    本文主要介紹了MySQL查看鎖的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • mysql 8.0.16 Win10 zip版本安裝配置圖文教程

    mysql 8.0.16 Win10 zip版本安裝配置圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0 Win10 zip版本安裝配置圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • MySQL數(shù)據(jù)庫備份恢復(fù)實(shí)現(xiàn)代碼

    MySQL數(shù)據(jù)庫備份恢復(fù)實(shí)現(xiàn)代碼

    這篇文章主要介紹了MySQL數(shù)據(jù)庫備份恢復(fù)實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • MySQL約束超詳解

    MySQL約束超詳解

    這篇文章主要介紹了MySQL約束包括非空約束、唯一約束、主鍵約束、外鍵約束,需要的朋友可以具體參考下面文章內(nèi)容
    2021-09-09
  • mysql cmd常用命令

    mysql cmd常用命令

    mysql cmd常用命令,偶爾需要命令行執(zhí)行mysql的朋友可以參考下。
    2011-05-05

最新評論

阿巴嘎旗| 昆山市| 通渭县| 遂昌县| 射洪县| 石渠县| 富民县| 德昌县| 广丰县| 烟台市| 黄浦区| 阿拉尔市| 安图县| 福清市| 崇明县| 乌鲁木齐县| 枣阳市| 太和县| 油尖旺区| 峨眉山市| 罗定市| 肥东县| 南江县| 响水县| 宝兴县| 司法| 名山县| 麦盖提县| 依安县| 云梦县| 册亨县| 安达市| 广饶县| 永靖县| 通道| 乾安县| 岢岚县| 浙江省| 保靖县| 武胜县| 大荔县|