我在mysql查询中搜索了java程序中多列的一个单词。列数是可变的。 这个查询是正确的:
select * from customer with (city, name) like%'adelaide'%
答案 0 :(得分:6)
您可以使用CONCAT()函数:
select * from customer WHERE concat(city,name) like '%adelaide%'
您可以根据需要向concat函数添加任意数量的列。 另外,如你所见,我改变了你的语法,'%WORD%'并使用了一个简单的where子句。
答案 1 :(得分:0)
最好使用CONCAT_WS()
函数。
CONCAT()
, NULL
将返回NULL
。
CONCAT_WS()
跳过分隔符参数之后的所有NULL
值。
答案 2 :(得分:0)
多个like语句不能一起使用或直接使用。您必须为每个like语句使用列名。
使用多个,如下所述。
Select *
from animals
where
(
[animalscolumn] like ('%dog%') or
[animalscolumn] like ('%cat%') or
[animalscolumn] like ('%gerbil%') or
[animalscolumn] like ('%hamster%') or
[animalscolumn] like ('%guinea pig%')
)
答案 3 :(得分:0)
select * from customer with city like%'adelaide'% or name like%'adelaide'%