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

PostgreSQL中SIMILAR TO匹配带圆括号字符串无返回结果如何解决?

你遇到的问题是因为SIMILAR TO运算符中()属于正则元字符,用于标识分组,不会被识别为普通的括号字符,所以你要匹配字面量的(和)时需要对其进行转义。

你可以直接用反斜杠对括号做转义,调整后的SQL如下:

SELECT * FROM table_name WHERE column SIMILAR TO '%(ICL-005\(A\)-1/2|IBL-006\(A\)-1/2)%'

如果担心反斜杠在不同SQL客户端的转义冲突,也可以用ESCAPE子句自定义转义字符:

SELECT * FROM table_name WHERE column SIMILAR TO '%(ICL-005#(A#)-1/2|IBL-006#(A#)-1/2)%' ESCAPE '#'

如果你更习惯标准POSIX正则语法,也可以改用~运算符实现需求,写法更简洁:

SELECT * FROM table_name WHERE column ~ 'ICL-005\(A\)-1/2|IBL-006\(A\)-1/2'

以上三种写法都可以正确匹配到你需要的ICL-005(A)-1/2和IBL-006(A)-1/2两条记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:45:03