本文将演示如下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) |