亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

流程函數(shù)是MySQL相對常用的一類函數(shù), 用戶可以使用這類函數(shù)在一個SQL語句中實現(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)建一個職員薪水表:

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)

接下來, 通過這個表來介紹各個函數(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ù): 這個函數(shù)一般用來替換NULL值, 我們知道NULL值是不能參參與數(shù)值運算的, 下面這個語句就是把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ù)實現(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ù):這里還可以分為多種情況把職員的薪水分為多個檔次,比如下面的例子分成高、中、低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ù)庫計有所幫助。

相關(guān)文章

  • mysql中l(wèi)ike % %模糊查詢的實現(xiàn)

    mysql中l(wèi)ike % %模糊查詢的實現(xiàn)

    這篇文章主要介紹了mysql中l(wèi)ike % %模糊查詢的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Mysql 5.7 忘記root密碼或重置密碼的詳細(xì)方法

    Mysql 5.7 忘記root密碼或重置密碼的詳細(xì)方法

    在Centos中安裝完MySQL數(shù)據(jù)庫以后,不知道密碼,這可怎么辦,下面給大家說一下怎么重置密碼
    2016-12-12
  • MySQL對數(shù)據(jù)庫數(shù)據(jù)進(jìn)行復(fù)制的基本過程詳解

    MySQL對數(shù)據(jù)庫數(shù)據(jù)進(jìn)行復(fù)制的基本過程詳解

    這篇文章主要介紹了MySQL對數(shù)據(jù)庫數(shù)據(jù)進(jìn)行復(fù)制的基本過程,解讀了Slave的一些相關(guān)配置,需要的朋友可以參考下
    2015-11-11
  • mysql "too many connections" 錯誤 之 mysql解決方法

    mysql "too many connections" 錯誤 之 mysql解決方法

    解決方法是修改/etc/mysql/my.cnf,添加以下一行
    2009-06-06
  • mysql存儲過程之返回多個值的方法示例

    mysql存儲過程之返回多個值的方法示例

    這篇文章主要介紹了mysql存儲過程之返回多個值的方法,結(jié)合實例形式分析了mysql存儲過程返回多個值的實現(xiàn)方法與PHP調(diào)用技巧,需要的朋友可以參考下
    2019-12-12
  • mysql 重要日志文件匯總

    mysql 重要日志文件匯總

    這篇文章主要介紹了mysql 重要日志文件的匯總,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-11-11
  • mysql報錯sql_mode=only_full_group_by解決

    mysql報錯sql_mode=only_full_group_by解決

    這篇文章主要為大家介紹了mysql報錯sql_mode=only_full_group_by解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 新手必學(xué)的mysql外鍵設(shè)置方式

    新手必學(xué)的mysql外鍵設(shè)置方式

    MySQL外鍵約束(FOREIGN KEY)用來在兩個表的數(shù)據(jù)之間建立鏈接,它可以是一列或者多列,一個表可以有一個或多個外鍵,下面這篇文章主要給大家介紹了關(guān)于mysql外鍵設(shè)置的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • MySQL優(yōu)化及索引解析

    MySQL優(yōu)化及索引解析

    這篇文章主要介紹了MySQL優(yōu)化及索引解析,索引關(guān)系型數(shù)據(jù)庫為了加速對表中行數(shù)據(jù)檢索的數(shù)據(jù)結(jié)構(gòu),下面文章詳細(xì)內(nèi)容,需要的小伙伴可以參考一下
    2022-03-03
  • mysql中截取字符串的6個函數(shù)講解

    mysql中截取字符串的6個函數(shù)講解

    這篇文章主要介紹了mysql中截取字符串的6個函數(shù)講解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評論