gpt4 book ai didi

postgresql - 在 PostgreSQL 中将 SIMILAR TO 与 ALL 一起使用

转载 作者:行者123 更新时间:2023-11-29 14:13:17 26 4
gpt4 key购买 nike

我想确定是否可以在 PostgreSQL 查询中将 SIMILAR TOANYALL 结合使用。

它适用于 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com