如何使用mysql" IFNULL"

时间:2016-04-26 03:47:04

标签: mysql

据我所知,IFNULL()功能是

IFNULL(exp1,exp2),当exp1 = null时将输出exp2

但我尝试了一些像这样的条件

select  IFNULL (ams2.deptno.`FName`,'empty')
  from ams2.deptno as dept

但结果仍然为空而非空

我不知道哪里有问题,

有没有人可以教我如何解决?

2 个答案:

答案 0 :(得分:1)

1.您使用的查询是正确的需要调试可以提供一些其他信息,如表的crate table语句,一些示例数据

mysql> select ifnull(FName,'empty') as FName from deptno;
+---------------------------------------------------------------------   ---------------------------+
| FName                                                                                              |
+---------------------------------------------------------------------  ---------------------------+
| myname                                                                                           |
| myname                                                                                         |
| myname                                                                                         |
| myname                                                                                         |
| myname                                                                                         |
| myname                                                                                         |
| myname                                                                                         |
| myname                                                                                         |
| myname                                                                                         |
| myname                                                                                         |
| empty                                                                                          |
| empty                                                                                          |
| empty                                                                                          |
| empty                                                                                          |
| empty                                                                                          |
| empty                                                                                            |
| iam                                                                                            |
| ifdsam                                                                                         |
| rwer                                                                                           

还有许多其他可能的解决方案适合您的问题

1.使用以下查询

select COALESCE(ams2.deptno.`FName`,'empty') as dept 
from ams2.deptno

2.如果值为空,您可以为列指定默认值

alter table ams2.deptno 
modify cloumn FName varchar(255) 
               not null default 'empty'

答案 1 :(得分:-1)

select  IFNULL(FName,'empty')
  from ams2.deptno;

为什么不尝试这种简单的方法而不使用反引号,我尝试了它的工作。