我有一个公司名称列表,并希望显示以某个字符开头的所有名称。例如d
。
所以查询是
SELECT * FROM company WHERE name LIKE 'd%'
但我也希望那些以“The”开头的公司
SELECT * FROM company WHERE name LIKE 'd%' OR name LIKE 'The d%'
但是,当我们达到't'时,现在是一个棘手的问题,我想要删除所有那些以'The'开头的东西 同时保留其他以“t”开头的东西(并保留“松露之家”之类的内容,其中后面的单词''以't'开头)。
有什么想法吗?想在MySQL中保留逻辑......
答案 0 :(得分:1)
尝试:
SELECT * FROM company WHERE name regexp '^(The)d'
答案 1 :(得分:1)
SELECT *
FROM company
WHERE (name LIKE '?%' AND NOT name LIKE 'The %')
OR name LIKE 'The ?%'
答案 2 :(得分:0)
感谢您刚刚选择了
的答案SELECT *
FROM company
WHERE (name LIKE '?%' AND NOT name LIKE 'The %')
OR name LIKE 'The ?%'
t
我刚刚完成了NOT LIKE
所以
AND (company_name LIKE 'The%t' OR company_name LIKE 't%') AND company_name NOT LIKE 'The a%' AND company_name NOT LIKE 'The b%'
等....