如何在传递给to_tsquery的字符串中显示特殊字符?例如,这种查询:

select to_tsquery('AT&T');

生产:

NOTICE:  text-search query contains only stop words or doesn't contain lexemes, ignored

 to_tsquery 
------------

(1 row)

编辑:我还注意到,to_tsvector中也有同样的问题.

推荐答案

一个简单的解决方案是创建tsquery,如下所示:

select $$'AT&T'$$::tsquery;

您可以进行更复杂的查询:

select $$'AT&T' & Phone | '|Bang!'$$::tsquery;

更多信息,请参见文本搜索docs.

Postgresql相关问答推荐

利用PostgreSQL查询中表的顺序来计算包含每次时间的时间范围

一列引用两个不同的表

Postgres SQL:获取列值在连续日期之间已更改的行

使用 GDB 调试器调试 AGE 代码的过程

如何在plpgsql中找到一行中的最大值?

在 SQL 上返回负值

Postgresql:创建默认表空间的视图和使用?

PostgreSQL unnest 与空数组

如何在 PSQL 中查找从另一个表继承的子表

包含受先前 DELETE 影响的行数的变量?

在 postgres 中删除所有共享相同前缀的表

PostgreSQL 可以对数组元素有唯一性约束吗?

Postgres 表中列的顺序会影响性能吗?

SQL:列为某个值时的唯一约束

由于外键约束无法删除对象

在 postgres 中插入语句用于没有时区 NOT NULL 的数据类型时间戳,

全文的 Postgresql 前缀通配符

PostgreSQL - 必须出现在 GROUP BY 子句中或在聚合函数中使用

PL/pgSQL 执行与执行

PL/pgSQL 中的 BREAK 语句