2016-04-26 46 views
0

据我所知IFNULL()功能如何使用mysql “IFNULL”

IFNULL(EXP1,EXP2),当EXP1 = NULL将输出EXP2

,但我尝试喜欢,因为这

一个有些条件
select IFNULL (ams2.deptno.`FName`,'empty') 
    from ams2.deptno as dept 

,但结果还是空不空

我不知道哪里有问题,

有谁可以教我如何解决?

+1

如果结果不是'空',那么它看起来像一个名字?也许列简直不是空? –

+1

是否有可能将NULL存储为该列中的字符串? –

+0

我确定该列的默认值为空, –

回答

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

为什么你不尝试这种简单的方法没有反引号,我尝试了它的工作。

0

1.查询您已经使用是否正确需要调试,你可以给喜欢你的表的表箱声明了一些其他的信息,一些样本数据

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.You可如果值是零为列指定一个默认值

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