Mysql - 如何在多列上使用

时间:2016-03-10 11:33:10

标签: mysql where-clause sql-like

我在mysql查询中搜索了java程序中多列的一个单词。列数是可变的。 这个查询是正确的:

select * from customer with (city, name) like%'adelaide'%

4 个答案:

答案 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'%