我有两个字段,但我想只返回非空字段.
select firstname, lastname, (if firstname != empty, then firstname else lastname) as name from users;
Run Code Online (Sandbox Code Playgroud)
我该怎么做上面这样的事情.我不确定圆括号内应该是什么.我不想使用PHP后处理.
在MySQL中有几种方法可以做到这一点.
您可以使用coalesce()函数,该函数在其参数中返回第一个非null值.
select coalesce(firstname, lastname) as name from users;
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用case语句:
select case when firstname is not null then firstname else lastname end as name from users;
Run Code Online (Sandbox Code Playgroud)
或者您可以使用if()函数:
select if(firstname is not null, firstname, lastname) as name from users;
Run Code Online (Sandbox Code Playgroud)
或者您可以使用ifnull()函数:
select ifnull(firstname, lastname) as name from users;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1082 次 |
| 最近记录: |