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"开头的电影标题将返回以下内容:
王者回归
一条河流经过它
客栈
(其他字段省略)
最简单的方法是以编程方式将查询扩展为类似的内容
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:执行此操作的规范方法是将文章存储在单独的字段中.