在Postgres中 WHERE 子句中使用 Concat。

14

我对PostgreSQL中的concat函数有个问题。

这个句子在MySQL中可以正常工作:

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

变量是在我的Java程序中更改的一个值。

但我需要在postgresql中实现相同的功能。如何在使用postgres时在WHERE子句内进行连接,考虑到变量"value"将会其值被更改?

2个回答

30

我知道在PostgreSQL中我们使用||来连接字符串,但是我无法将我在MySQL中工作的相同代码翻译成PostgreSQL。我在Where子句中找不到任何关于连接字符串的信息。 - user2233540
@user2233540 在 WHERE 子句中的字符串拼接使用相同的方式。对于您的情况,它应该类似于 WHERE (word||' '||gender||' '||semantic) LIKE '%"+value+"%' - Ihor Romanchenko
1
好的,谢谢大家!在PostgreSQL中,它的工作方式与MySQL不同。我不得不使用WHERE word LIKE '%"+value+"%' OR gender '%"+value+"%'来模拟相同的行为。 - user2233540

3

您也可以将此用于postgresql:

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

请注意,单引号之间有一个空格。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接