2013-07-10 80 views
4

我有一個關於PostgreSQL中的concat函數的問題。postcat中的WHERE子句中的Concat

這句話很好的工作在MySQL:

SELECT * FROM words 
WHERE CONCAT (word,' ',gender,' ',semantic) LIKE '%"+value+"%'. 

值是我的Java程序中改變一個變量。

但我需要在postgresql中工作。如何使用postgres在WHERE子句內部連接,考慮變量「value」將會改變它的值?

回答

12

在PostgreSQL您連接使用下列語法:

(users.first_name || ' ' || users.last_name) 

參考http://www.postgresql.org/docs/9.1/static/functions-string.html

+0

我知道在postgres中我們使用||連接,但我可以不翻譯相同的我有MySQL的工作Postgresql。我在Where子句中找不到關於連接的任何內容。 – user2233540

+0

@ user2233540'WHERE'子句中的連接以相同的方式工作。在你的情況下,它將會像'WHERE(word ||''|| gender || || || semantic)LIKE'%「+ value +」%'' –

+1

好的,謝謝大家!在postguesql中,它不像在MySQL中那樣工作。我必須使用一個WHERE單詞LIKE'%'+ value +「%'或性別'%」+ value +「%'...來模擬相同的行爲。 – user2233540

1

您也可以使用這個對PostgreSQL:

concat_ws(' ', campo1, campo2) like '%value%' 

注意,有一個空格單引號之間