国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 12:41:44
字體:
來源:轉載
供稿:網友

本文實例講述了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

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

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)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 旅游| 克什克腾旗| 富蕴县| 屯昌县| 望都县| 台东市| 湖南省| 屏东市| 承德市| 合川市| 霸州市| 香河县| 合肥市| 宁南县| 余庆县| 祁东县| 石阡县| 永宁县| 安平县| 仁怀市| 丽水市| 威信县| 千阳县| 台中市| 吴川市| 萨嘎县| 文成县| 慈利县| 双城市| 靖州| 郯城县| 洪湖市| 阿克苏市| 铁岭市| 万安县| 新野县| 周至县| 延安市| 湟源县| 丽江市| 隆尧县|