是否可以在一个查询中将多个SQL LIKE通配符串在一起?
LIKE '% aaaa %' AND LIKE '% bbbb %'
目的是找到包含两个通配符但没有特定顺序的记录。
正确的SQL语法是:
field LIKE '% aaaa %' AND field LIKE '% bbbb %'
是的,可以,但语法是:
Field LIKE '%aaa%' AND field LIKE '%bbb%'
当您将此语句与变量一起使用时,这很有用。
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, '%')
是的,但请记住LIKE是一个类似于其他语言中的==
或>
的运算符。你仍然需要指定等式的另一边:
SELECT * FROM myTable
WHERE myField LIKE '%aaaa%' AND myField LIKE '%bbbb%'
可以将任意数量的条件串在一起。然而,谨慎的做法是使用括号对子句进行分组,以消除任何歧义:
SELECT *
FROM tableName
WHERE (columnOne LIKE '%pattern%')
AND (columnTwo LIKE '%other%')