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

PostgreSQL技术问询:如何返回与查询串互为子串的字段记录?

解决方案

你需要同时匹配两种场景:字段值包含查询字符串,或者查询字符串包含字段值,用OR连接两个条件即可实现需求。

针对你的场景,查询语句可以写成:

SELECT * 
FROM your_table 
WHERE firstName ILIKE '%beeWax%' 
   OR 'beeWax' ILIKE CONCAT('%', firstName, '%');

逻辑说明

  • firstName ILIKE '%beeWax%':匹配字段值包含beeWax的记录(对应id=2的beeWaxer)
  • 'beeWax' ILIKE CONCAT('%', firstName, '%'):匹配查询字符串beeWax包含字段值的记录(对应id=1的bee)

如果需要支持动态查询参数(避免硬编码beeWax),可以用占位符实现:

SELECT * 
FROM your_table 
WHERE firstName ILIKE CONCAT('%', :search_str, '%') 
   OR :search_str ILIKE CONCAT('%', firstName, '%');

注意:将语句中的your_table替换为你实际使用的表名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 08:50:29