COALESCE不能与CodeIgniter一起使用

时间:2013-08-29 15:14:46

标签: php mysql codeigniter mysqli coalesce

我尝试了很多次,但没有任何高效。

我尝试了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);
  1. 用户表已加入
  2. 尝试不加入
  3. CodeIgniter版本2.1.4
  4. MySql版本5.5.24
  5. 我只想要显示名称而不是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)
    

1 个答案:

答案 0 :(得分:3)

你得到空字符串。这意味着记录中的links.name字段不是NULL,它是一个空字符串。 coalesce()仅在您实际使用完整的SQL NULL值时触发。空字符串不为空,它们只是恰好为空的字符串。

可能这样做了

SELECT IF(links.name='', 'noname', links.name) AS owner
相关问题