Mysql Regexp字符在任何位置和第一个位置

时间:2015-01-14 12:44:45

标签: mysql sql-like

我使用'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有一种&&条件吗?

提前感谢

2 个答案:

答案 0 :(得分:6)

你不需要regexp。您可以使用like

where title like 'V%W%'

like的优点是MySQL可以使用title上的索引来部分满足此要求(因为模式以常量开头)。

答案 1 :(得分:2)

^V[a-zA-Z0-9]*W

试试这个。这应该让你盯着V并在某个地方W