我尝试了很多次,但没有任何效果。
我尝试了3个查询:
$query = $this->db->query("SELECT COALESCE(links.name, 'noname') as owner FROM links");
$query = $this->db->query("SELECT COALESCE(links.name, users.username) as owner FROM links");
$this->db->select("COALESCE(links.name, 'noname') as owner", false);
2.1.4
5.5.24
我只想显示名字,不要NULL
。如果links.name
为NULL,则获取users.username
但是我不知道。
0 =>
array (size=1)
'owner' => string 'John Doe' (length=9)
1 =>
array (size=1)
'owner' => string '' (length=0)
2 =>
array (size=1)
'owner' => string '' (length=0)
您正在获取空字符串。这意味着links.name
记录中的字段不是NULL,而是一个空字符串。仅当您实际上在使用完整的SQLNULL
值时,才会调用coalesce()。空字符串不为空,它们只是碰巧为空的字符串。
也许这会工作
SELECT IF(links.name='', 'noname', links.name) AS owner
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句