我使用'VW'搜索我需要一个mysql regexp模式,它只能找到VOLKSWAGEN而不是VOLKSWAGEN和VOLVO。
我先试试:
SELECT title FROM brand WHERE title REGEXP '^[VW]'
所以我在第一个位置获得V
的所有记录。
我不知道如何将第一字符的条件V
与任意位置的W
组合。
我试试:
SELECT title FROM brand WHERE title REGEXP '^[VW]' AND title REGEXP '[VW]'
并且还尝试使用Having子句
SELECT title FROM brand WHERE title REGEXP '[VW]' HAVING title REGEXP '^[VW]'
我知道我们有单独的替代品,我们对REGEXP有一种&&
条件吗?
提前感谢
答案 0 :(得分:6)
你不需要regexp。您可以使用like
:
where title like 'V%W%'
like
的优点是MySQL可以使用title
上的索引来部分满足此要求(因为模式以常量开头)。
答案 1 :(得分:2)
^V[a-zA-Z0-9]*W
试试这个。这应该让你盯着V
并在某个地方W
。