在SQL查询上返回空字段而不是null

时间:2013-11-19 21:52:41

标签: mysql sql null

这是我的疑问:

SELECT u.fname fname, u.lname lname, r.fname inviter_f, r.lname inviter_l 
FROM guests u 
  LEFT JOIN guests r ON u.inviter_id = r.guest_id 
where u.wedding_id=10

如何返回空值而不是NULL?
在当前查询中,如果inviter_id = 0,则将inviter_f和inviter_l返回为NULL

谢谢超级英雄!

2 个答案:

答案 0 :(得分:5)

使用COALESCE()功能。

SELECT 
   u.fname fname, 
   u.lname lname, 
   coalesce(r.fname,'') inviter_f, 
   coalesce(r.lname, '') inviter_l 
FROM guests u 
  LEFT JOIN guests r ON u.inviter_id = r.guest_id 
where u.wedding_id=10

答案 1 :(得分:1)

使用IFNULL功能,have a look at the documentation.

SELECT u.fname fname, u.lname lname, 
IFNULL(r.fname, '') AS inviter_f,
IFNULL(r.lname, '') AS inviter_l 
FROM guests u 
  LEFT JOIN guests r ON u.inviter_id = r.guest_id 
where u.wedding_id=10