使用MySql中的if语句打印带条件约束的新列

时间:2018-04-30 15:23:54

标签: mysql sql database if-statement

我有一个表'actor',其字段为'pk','fname',lname。 我想打印一个列(让我们调用这个名称)默认情况下打印fname但如果fname为null则打印lname。

我使用的查询是:

select if(fname = null,lname,fname) as name from actor;

然而,这并未实现给定的任务。 即使值为null,它也会打印fname。

1 个答案:

答案 0 :(得分:1)

要与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

SELECT COALESCE(fname, lname) AS name FROM actor;