当前位置: 首页 > 面试题库 >

如何使用扩展名pg_trgm中的%运算符?

宓和同
2023-03-14
问题内容

我已经pg_trgm安装了模块。

pg_trgm | 1.0     | extensions | text similarity measurement and index ...

模式集为extensions。要使用它,我必须运行以下选择:

extensions.similarity('hello','hallo');

我正在尝试使用%运算符运行一条语句,并收到以下消息。

mydb=# select * from rssdata where description % 'Brazil';
ERROR:  operator does not exist: character varying % unknown
LINE 1: select * from rssdata where description % 'Brazil';
                                            ^
HINT:  No operator matches the given name and argument type(s).
You might need to add explicit type casts.

运行%<->操作员需要什么?


问题答案:

这很可能是的问题search_path。run:

SHOW search_path;

是否包含安装pg_trgm的架构?如果没有,请包括在内。

另外,您可以使用OPERATOR()结构对函数进行模式限定-甚至运算符:

SELECT * FROM rssdata WHERE extensions.similarity(description, 'Brazil') > .8;
SELECT * FROM rssdata WHERE description OPERATOR(extensions.%) 'Brazil';

使它独立于search_path



 类似资料:
  • 我不确定我在这里使用的词汇,如果我错了,请纠正我。 在Javascript中,我有以下代码: 如您所见,当调用时,我可以使用spread运算符,以便将我的参数“转换”为。 现在,我正试图用Java做同样的事情。 假设我有一门课: 现在我想调用: 我想使用类似于的东西,而不是调用。 我在函数声明中看到了这一点,但我不想改变这样一个函数的实现。

  • 问题内容: 我正在寻找一个小的功能,该功能允许我从文件名中删除扩展名。 我通过谷歌搜索发现了许多示例,但是它们很糟糕,因为它们只是用“。”删除了字符串的一部分。。他们使用点作为限制器,只是剪切字符串。 看这些脚本, 要么 当我们添加这样的字符串时: 这是字符串的例子 它将仅返回“ This” … 该扩展名可以包含3个或4个字符,因此我们必须检查点是否位于4或5个位置,然后将其删除。 怎么做到呢?

  • 为什么一定要使用 ...path 才能正确的运行,在上面代码中测试的结果是一样的,而下面则一定要用 ... ?否则就会出现如图2所示的结果 这段代码是 解决 (给定两个整数 n 和 k,返回范围 [1,n] 中所有可能的 k 个数的组合。) 这个问题的 ,用的回溯

  • 我有一个函数可以给传入的对象添加一个键,但是我被告知要使用spread运算符,我被告知可以使用spread运算符创建一个具有相同属性的新对象,然后在它上面设置isAvailable。 所以我试过这样的方法,但是不能成功,你能帮我吗?和困惑,我应该这样使用spread运算符,从一个函数返回?

  • 在Reactivex中。IO文档据称 通过使用SkipLast操作符修改可观察对象,可以忽略可观察对象发出的最后n个项目,只关注它们之前的项目。 我的期望:SkipLast将读取整个可观察的,直到它满足OnComplated,然后生成一个新的可观察的,时间作为原始时间,但跳过最后时间。 我的疑问是:SkipLast操作符如何知道“3”是可观测的最后第二项?如果看不到未完成的,它怎么能说出最后的第n

  • 问题内容: 匿名类如何扩展超类或实现接口? 问题答案: 匿名类 必须 像其他Java类一样扩展或实现某些东西,即使它只是just 。 例如: 这里是实现的匿名类的对象。 匿名类可以使用相同的语法扩展另一个类: 您无法实现的是实现多个接口。您需要一个命名类来做到这一点。但是,匿名内部类和命名类都不能扩展多个类。