mySQL返回非空字段

mySQL返回非空字段,mysql,Mysql,我有两个字段,但我只想返回非空字段 select firstname, lastname, (if firstname != empty, then firstname else lastname) as name from users; 我该如何着手做上面提到的事情呢。我不确定圆括号内应该有什么。我不想使用PHP后处理。在MySQL中有几种方法可以做到这一点 您可以使用返回其参数中第一个非空值的函数 select coalesce(firstname, lastname) as name f

我有两个字段,但我只想返回非空字段

select firstname, lastname, (if firstname != empty, then firstname else lastname) as name from users;

我该如何着手做上面提到的事情呢。我不确定圆括号内应该有什么。我不想使用PHP后处理。

在MySQL中有几种方法可以做到这一点

您可以使用返回其参数中第一个非空值的函数

select coalesce(firstname, lastname) as name from users;
或者,您可以使用:

或者您可以使用以下功能:

select if(firstname is not null, firstname, lastname) as name from users;
select ifnull(firstname, lastname) as name from users;
或者您可以使用以下功能:

select if(firstname is not null, firstname, lastname) as name from users;
select ifnull(firstname, lastname) as name from users;

这适用于
null
值以及空字符串(
'


@亚历克·斯马特:没关系。重要的是你的问题得到了正确的答案。