我正在尝试制作电影列表。首先,我有一个获取电影中所有首字母的查询:
SELECT DISTINCT LEFT(film_title, 1) FROM ms_films ORDER BY film_title
其次,我有一个查询选择所有以特定字母开头的电影:
SELECT * FROM ms_films WHERE film_title LIKE 'H%'
当然,有些电影以“The”或荷兰语单词“De”开头。有什么办法可以从这 2 个查询中排除那些起始词吗?
基本上,像“接下来的三天”这样的电影应该在两个查询中都归类到 N 下。
最佳答案
您可以使用REPLACE
来删除它们
SELECT * FROM ms_films WHERE REPLACE(film_title, "The", "") LIKE 'H%'
显然这会删除所有出现的 The,但在您的情况下应该无关紧要。
如果您需要更复杂的搜索模式,您还可以使用 REGEXP
(或其别名 RLIKE
)代替 LIKE
。
关于mysql - 从 SELECT 查询中排除起始词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4485081/