MySQL常用函数系列之十:流程函数(1)

来源:互联网 发布:模型制作软件 编辑:程序博客网 时间:2024/05/01 20:52
                        

本文将演示以下2个 MySQL中的常用流程函数

函数

功能

IF(value,t,f)

如果value是真,返回t;否则返回f

IFNULL(value1,value2)

如果value1不为空返回value1,否则返回value2

下面将结合实例对这些函数进行介绍。

示例1:

这里首先创建并初始化一个职员薪水表

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)

 


0 0