本文將演示如下2個 MySQL中的經常使用流程函數mysql
函數sql |
功能函數 |
IF(value,t,f)測試 |
若是value是真,返回t;不然返回fspa |
IFNULL(value1,value2)code |
若是value1不爲空返回value1,不然返回value2blog |
下面將結合實例對這些函數進行介紹。ip
示例1:ci
這裏首先建立並初始化一個職員薪水錶get
mysql> create table salary (userid int,salary decimal(9,2)); Query OK, 0 rows affected (0.06 sec) |
插入一些測試數據:
mysql> insert into salary ->values(1,1000), ->(2,2000), ->(3,3000), ->(4,4000), ->(5,5000), ->(1,null); Query OK, 6rows affected (0.00 sec) 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) |
接下來,經過這個表來介紹各個函數的應用。
o IF(value,ture結果值,false結果值 )函數:月薪在 2000 元以上的職員屬於高薪,用「high」表示;而2000元如下的職員屬於低薪,用「low」表示。
示例2:
mysql> select if(salary>2000,'high','low') from salary; +------------------------------+ | if(salary>2000,'high','low') | +------------------------------+ | low | | low | | high | | high | | high | +------------------------------+ 5 rows in set (0.01 sec) |
o IFNULL(value1,value2)函數:這個函數通常用來替換NULL值的,NULL值是不能參與數值運算的,下面這個語句就是把NULL值用0來替換。
示例3:
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) |