You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CONCAT结合LIKE查询时Post_content返回NULL且未获全量数据的问题

问题解决方法

1. 解决LIKE筛选不全量数据的问题

原SQL的LIKE ' % XYZ % '包含多余空格,只会匹配XYZ前后都带空格的company_name,比如" 测试 XYZ 公司 ",但无法匹配像"测试XYZ公司"、"测试 XYZ公司"这类数据。

修改方式:

  • 去掉LIKE条件里的多余空格,改为:
    WHERE company_name LIKE '%XYZ%'
    
  • 如果数据库区分大小写(如Oracle),需要统一大小写后匹配:
    WHERE LOWER(company_name) LIKE '%xyz%'
    

2. 解决CONCAT返回NULL的问题

CONCAT函数的特性是:只要任意一个拼接参数为NULL,整个拼接结果就会变成NULL。你的情况是list_rank、company_size或industry字段中存在NULL值,导致post_content显示为NULL。

修改方式:用COALESCE函数将NULL字段替换为空字符串(或你需要的默认值),确保拼接正常:

SELECT
  company_id AS ID,
  CONCAT(
    COALESCE(c.list_rank, ''), '|||',
    COALESCE(c.company_name, ''), '|||',
    COALESCE(c.company_size, ''), '|||',
    COALESCE(c.industry, '')
  ) AS post_content,
  c.admin_approved
FROM company22 c
WHERE company_name LIKE '%XYZ%';

验证建议

  • 先单独执行SELECT list_rank, company_name, company_size, industry FROM company22 WHERE company_name LIKE '%XYZ%';,检查哪几个字段存在NULL值,确认替换逻辑是否正确。
  • 测试修改后的LIKE条件,确认是否能匹配到所有包含XYZ的公司名称。

内容的提问来源于stack exchange,提问作者Naren Verma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 20:56:07