我有一个表'actor',它的字段是'pk','fname',lname。我想打印一列(我们称之为这个名称),默认情况下打印fname,但如果fname为null,则打印lname。我使用的查询是:
select if(fname = null,lname,fname) as name from actor;
然而,这并不能完成给定的任务。即使值为空,它也打印fname。
vuv7lop31#
比较 NULL 需要使用的值 IS NULL :
NULL
IS NULL
select if(fname IS NULL,lname,fname) as name from actor;
或者 <=> :
<=>
select if(fname <=> null,lname,fname) as name from actor;
在您的示例中,最简单的方法是使用 COALESCE :
COALESCE
SELECT COALESCE(fname, lname) AS name FROM actor;
1条答案
按热度按时间vuv7lop31#
比较
NULL
需要使用的值IS NULL
:或者
<=>
:在您的示例中,最简单的方法是使用
COALESCE
: