mysql - 从 SELECT 查询中排除起始词

标签 mysql select words

我正在尝试制作电影列表。首先,我有一个获取电影中所有首字母的查询:

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/

相关文章:

mysql - 协助 MySQL JOIN

php - preg_replace php中特定的sql列

mysql - MySQL中前面没有任何内容的 "join"是什么?

MySQL 寻找一个好的索引

php - 如何使用文本框异步编辑/更新静态 mysql 结果?

php - PDO 为 select 语句返回错误值

mysql - 提高 MySQL 中的 SELECT 性能

java - java字符串中的单词

regex - 统计词频然后排序

c# - 对齐列中的单词