COALESCE无法与CodeIgniter一起使用

宝来

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

我尝试了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

我只想显示名字,不要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)
马克·B

您正在获取空字符串。这意味着links.name记录中字段不是NULL,而是一个空字符串。仅当您实际上在使用完整的SQLNULL值时,才会调用coalesce()空字符串不为空,它们只是碰巧为空的字符串。

也许这会工作

SELECT IF(links.name='', 'noname', links.name) AS owner

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章