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)

相關文章
相關標籤/搜索