作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想确定是否可以在 PostgreSQL 查询中将 SIMILAR TO
与 ANY
或 ALL
结合使用。
它适用于 LIKE
,即我可以:
SELECT 'man bear pig' LIKE ANY(ARRAY['%fish%', '%bear%']);
用 SIMILAR TO
做同样的事情:
SELECT 'man bear pig' SIMILAR TO ANY(ARRAY['%fish%', '%bear%']);
,返回错误:
[42601] ERROR: syntax error at or near "ANY"
Position: 34
在这种情况下,它并没有太大的区别,但是说我想使用扩展语法,例如%(man|pig)%
,然后 LIKE
将返回与 SIMILAR TO
不同的结果。
提前致谢。
最佳答案
你不能直接做,但你可以像 PostgreSQL 一样转换它:
SELECT 'man bear pig'
~ ANY (ARRAY[
similar_escape('%fish%', NULL),
similar_escape('%bear%', NULL)
]);
但是直接使用正则表达式会更简单:
SELECT 'man bear pig'
~ ANY (ARRAY['fish', 'bear']);
关于postgresql - 在 PostgreSQL 中将 SIMILAR TO 与 ALL 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58288181/
我是一名优秀的程序员,十分优秀!