【发布时间】:2016-06-25 05:26:57
【问题描述】:
我在 mysql 中搜索了 java 程序中多列中的一个单词。列数是可变的。 这个查询是正确的:
select * from customer with (city, name) like%'adelaide'%
【问题讨论】:
标签: mysql where-clause sql-like
我在 mysql 中搜索了 java 程序中多列中的一个单词。列数是可变的。 这个查询是正确的:
select * from customer with (city, name) like%'adelaide'%
【问题讨论】:
标签: mysql where-clause sql-like
您可以使用 CONCAT() 函数:
select * from customer WHERE concat(city,name) like '%adelaide%'
您可以根据需要向 concat 函数添加任意数量的列。 同样如您所见,我更改了您的 like 语法 '%WORD%' 并使用了一个简单的 where 子句。
【讨论】:
最好使用CONCAT_WS()函数。
CONCAT() 返回NULL,如果任何参数是NULL。
CONCAT_WS() 在分隔符参数后跳过任何 NULL 值。
【讨论】:
多个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%')
)
【讨论】:
select * from customer with city like%'adelaide'% or name like%'adelaide'%
【讨论】: