PostgreSQL“%”运算符

oxiaedzo  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(243)

有谁知道%运算符对varchar有什么影响?
我在一个项目中发现了这个查询,但我真的不知道它在做什么:

SELECT * FROM Location l where l.name % :param;

字符串
我认为它具有相同的效果:

SELECT * FROM Location l where l.name LIKE '%:param%'


但是我没有在PostgreSQL文档中找到解释。

sauutmhj

sauutmhj1#

%是由additional module pg_trgm提供的“相似性”运算符。
text(或其它字符串类型)作为左右操作数,返回boolean:如果两个操作数足够相似,则为true,否则为false。阈值通过GUC参数pg_trgm.similarity_threshold设置。
相关信息:

不要与模运算符**%**混淆。符号相同,但数学运算符采用 numeric 类型作为左操作数和右操作数。
在Posterre中,运算符由运算符名称(如%)加上左和右操作数定义。血淋淋的细节在手册第Operator Type Resolution章。临时用户几乎不需要知道这些。通常情况下,它只是工作。
相关信息:

  • PostgreSQL是否可以为数组列编制索引?

相关问题