sql - 让 MySQL 从 LIKE 条件开始时忽略 "The"?

标签 sql mysql sql-like

我有一个公司名称列表,想显示所有以某个字符开头的名称。 d 例如。

所以查询是

SELECT * FROM company WHERE name LIKE 'd%'

但是我也想要以“The”开头的公司

SELECT * FROM company WHERE name LIKE 'd%' OR name LIKE 'The d%'

但是当我们到达't'时,现在有一个棘手的问题,我想删除所有以'The'开头的那些 同时保留其他以“t”开头的内容(并保留“The Truffle House”之类的内容,其中“The”之后以“t”开头)。

有什么想法吗?想在 MySQL 中保留逻辑...

最佳答案

SELECT  *
FROM    company
WHERE   (name LIKE '?%' AND NOT name LIKE 'The %')
        OR name LIKE 'The ?%'

关于sql - 让 MySQL 从 LIKE 条件开始时忽略 "The"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4660022/

相关文章:

php - 没有索引导出/导入 5000 万行数据库?

php - 带有 session 变量的查询语句

javascript - 使用 AJAX PHP 显示数据

c# - 通用 Windows 平台应用程序中的 MySql 数据库连接

mysql - SQL - 将 LIKE 与占位符和 AND & OR 运算符一起使用

mysql - SQL_CALC_FOUND_ROWS 有时不起作用

postgresql - 在 LIKE 或 IN 表达式中使用搜索模式列表

sql - 检查 Rails 中是否不存在记录(来自 ids 数组)?

sql - 在 oracle 中插入和更新文件中的行

mysql - Rails 查询/范围 : exclude objects according to attribute of joined model