Mysql SELECT查询名称忽略第一个单词,如果它是"the","a","an"等

Nan*_*nde 2 regex mysql select

我一直在尝试(没有成功)构建一个MYSQL查询,该查询将选择一组记录,其中"title"字段以单个字母字符开头但忽略第一个字,如果它是"The","An"或"A" ".我已经找到了很多为查询的ORDER BY部分执行此操作的示例,但它是我需要执行此操作的初始WHERE部分,因为如果找不到正确的记录,则顺序无关紧要.运用

WHERE title LIKE "R%"
Run Code Online (Sandbox Code Playgroud)

只会给我标题作为第一个字母(例如"罗宾汉"),但不会与"红屋"相匹配.我想我需要某种REGEX,但我似乎无法让它工作.

例如,鉴于以下电影标题,

道路之家

王者回归

妈妈咪呀

阿尔戈

泰坦尼克号

一条河流经过它

选择以"R"开头的电影标题将返回以下内容:

王者回归

一条河流经过它

客栈

(其他字段省略)

Eug*_*eck 5

最简单的方法是以编程方式将查询扩展为类似的内容

SELECT
...
WHERE
  title LIKE 'R%'
  OR title LIKE 'The R%'
  OR title LIKE 'A R%'
  OR title LIKE 'An R%'
  ...
Run Code Online (Sandbox Code Playgroud)

这应该比REGEX更好,因为它将能够使用REGEX永远不会使用的索引.

BTW:执行此操作的规范方法是将文章存储在单独的字段中.