PostgreSQL LIKE运算符与hyphen不匹配

时间:2011-08-20 18:41:44

标签: postgresql escaping sql-like

我在PostgreSQL中遇到LIKE运算符问题。它与包含-字符的模式不匹配。我试图使用ESCAPE选项来逃避这些字符,但它仍然不起作用。

查询:

select * from footable where trascrizione like '% [---]is Abraam %';

示例数据(列trascrizione的内容):

[---]is Abraam [e]t Ise[---] / ((crux quadrata))

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

该模式不匹配,因为[---]is Ambraam之前没有空格。您的模式中有一个空格,位于%[个字符之间,并且要求空间位于您的数据中。试试LIKE '%[---]is Abraam %'

答案 1 :(得分:0)

请出示代码。我没问题:

SELECT * FROM a WHERE a LIKE '%-' AND b LIKE '%-%' AND c LIKE '-%';
  a   | b |  c   | d | e 
------+---+------+---+---
 foo- | - | -bar |   | 
(1 Zeile)