2011-08-20 86 views
0

我在PostgreSQL中有一個LIKE運算符問題。它不匹配包含-字符的模式。我試圖用ESCAPE選項來逃避這些角色,但它仍然無效。PostgreSQL LIKE運算符不匹配連字符

查詢:

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

的樣本數據(trascrizione欄的內容):

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

我怎樣才能解決這個問題?

+0

向我們顯示您的查詢和您希望匹配的一些數據。 – cdhowie

+0

這是我的查詢的semplified例如: '選擇footable其中trascrizione像*「%[---]是Abraam%」;' 它返回一個空的結果集(但我知道,有一個紀錄是配襯)。 –

+0

你希望匹配哪一行? – cdhowie

回答

1

該模式不匹配,因爲[---]is Ambraam之前沒有空格。您的模式中有一個空格,位於%[之間,需要將空間放入數據中。嘗試LIKE '%[---]is Abraam %'

+0

謝謝。問題不在於'['和' - '之間的空白的空白,而是'%'和'['之前的空白。我必須修剪字符串。 –

0

請顯示驗證碼。我沒有問題:

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