Mysql 正则表达式字符在任何位置 AND 在第一个位置
Mysql Regexp character at any position AND at the first position
我使用 'VW' 进行搜索,我需要一个 mysql 正则表达式模式,它只能找到 VOLKSWAGEN 而不是 VOLKSWAGEN 和 VOLVO。
我先试试:
SELECT title FROM brand WHERE title REGEXP '^[VW]'
所以我在第一个位置得到了所有带有 V
的记录。
我不知道如何结合 FIRST 字符处的条件 V
和 ANY[=36= 处的 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 设置一种 &&
条件吗?
提前致谢
^V[a-zA-Z0-9]*W
试试 this.This 应该让你的单词开始 V
并在某处有 W
。
您不需要正则表达式。您可以只使用 like
:
where title like 'V%W%'
like
的优点是MySQL可以使用title
上的索引来部分满足这一点(因为patter以常量开头)。
我使用 'VW' 进行搜索,我需要一个 mysql 正则表达式模式,它只能找到 VOLKSWAGEN 而不是 VOLKSWAGEN 和 VOLVO。
我先试试:
SELECT title FROM brand WHERE title REGEXP '^[VW]'
所以我在第一个位置得到了所有带有 V
的记录。
我不知道如何结合 FIRST 字符处的条件 V
和 ANY[=36= 处的 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 设置一种 &&
条件吗?
提前致谢
^V[a-zA-Z0-9]*W
试试 this.This 应该让你的单词开始 V
并在某处有 W
。
您不需要正则表达式。您可以只使用 like
:
where title like 'V%W%'
like
的优点是MySQL可以使用title
上的索引来部分满足这一点(因为patter以常量开头)。