多重连接与like不显示sql中的输出

问题描述 投票:0回答:2

我正在使用多个 concat 和 like,但我没有从表中获得所有输出。我在数据库中使用下面的 SQL 查询。

  select 
  company_id as ID, 
  concat(
    c.list_rank, '|||', c.company_name, 
    '|||', c.company_size, '|||', c.industry
  ) as post_content, 
  c.admin_approved from company22 c where company_name like ' % XYZ % ';

我的输出低于预期。帖子内容显示为空,但我有表中的所有数据

sql mysql phpmyadmin concatenation sql-like
2个回答
0
投票

您还可以使用CONCAT_WS

喜欢

 concat_ws('',
    c.list_rank, '|||', c.company_name, 
    '|||', c.company_size, '|||', c.industry
  ) as post_content

第一个参数是分隔符


0
投票

您要连接的值中至少有一个必须是

NULL
。由于任何涉及 NULL 的操作都会返回 NULL,这使得最终结果
NULL

使用

IFNULL()
将空值替换为空字符串。

CONCAT_WS('|||', IFNULL(c.list_rank, ''), IFNULL(c.company_name, ''), IFNULL(c.company_size, ''), IFNULL(c.industry, '')) AS post_content

我还使用

CONCAT_WS()
来简化使用相同分隔符连接多个值的过程。

© www.soinside.com 2019 - 2024. All rights reserved.