我有一个名为“table”的数据库,如下所示:
id content
1 a
2 a b c
3 b a
4 c e a
我想获取内容中包含“a”和“c”的所有 id。
我知道我可以找到“a”或“c”在内容中的所有 id,如下所示:
select id
from table
where content regexp 'a|c'
但我不知道如何使用“AND”运算符
我不会为此使用正则表达式,而是使用LIKE
:
SELECT
id
FROM
`table`
WHERE
content LIKE '%a%'
AND content LIKE '%c%'
你可以使用这样的模式:
a.*c|c.*a
这匹配 ana
后跟任意数量的字符和 ac
或 ac
后跟任意数量的字符和 an a
。
或者,您可以将两个 where 子句链接在一起:
select id
from table
where content regexp 'a' AND
content regexp 'c'