据我所知,IFNULL()功能是
IFNULL(exp1,exp2),当exp1 = null时将输出exp2
但我尝试了一些像这样的条件
select IFNULL (ams2.deptno.`FName`,'empty')
from ams2.deptno as dept
但结果仍然为空而非空
我不知道哪里有问题,
有没有人可以教我如何解决?
答案 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;
为什么不尝试这种简单的方法而不使用反引号,我尝试了它的工作。