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

 

                        

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

相关文章
相关标签/搜索