2012-01-31 194 views
2

是否有可能在一个查询中将多个SQL LIKE通配符串在一起 - 像这样?SQL like和like

LIKE '% aaaa %' AND LIKE '% bbbb %' 

其目的是查找包含两个通配符但没有特定顺序的记录。

+6

“* SQL Like and like *”?恼人的问题标题。不是吗? – Lion 2012-01-31 00:29:03

回答

12

正确的SQL语法是:

field LIKE '% aaaa %' AND field LIKE '% bbbb %' 
2

是的,这将工作,但语法是:

Field LIKE '%aaa%' AND field LIKE '%bbb%' 
0

是的,但要记住,像类似于==>了在运营商其他语言。您仍然需要指定方程的另一端:

SELECT * FROM myTable 
WHERE myField LIKE '%aaaa%' AND myField LIKE '%bbbb%' 
0

可以将任意数量的条件串在一起。然而,这是谨慎的做法是使用括号组的条款,以消除任何含糊:

SELECT * 
    FROM tableName 
WHERE (columnOne LIKE '%pattern%') 
    AND (columnTwo LIKE '%other%') 
1

这当您使用的变量,这种说法是非常有用的。

SELECT * 
FROM `tableName` 
WHERE `colName` LIKE CONCAT('%', 'aaaa', '%') AND -- if aaaa is direct Text 
     `colName` LIKE CONCAT('%', 'bbbb', '%') 

SELECT * 
FROM `tableName` 
WHERE `colName` LIKE CONCAT('%', aaaa, '%') AND -- if aaaa is variable 
     `colName` LIKE CONCAT('%', bbbb, '%')