如何在select名字的前半部分包含一个特定的字母呢?

How to select name containg a specific letter in the first half of it?

我想知道你能否帮我弄清楚我如何 select 一个工人的姓氏,他的姓氏的前半部分有字母 'A'。说一半我的意思是把姓氏分开,只取左边的部分。例如,假设姓氏 'Schwarzenegger' 包含 15 个字符。查询将获取这个姓氏,因为它的前半部分确实有字母 'a' (SCHWARZ-negger)。如果姓氏是 'Jordan',那么我们对此不感兴趣,因为字母 'a' 出现在名字的后半部分 (jor-DAN)

任何帮助或提示将不胜感激。

干杯 安迪

select last_name
from workers
where substr(last_name,1,length(last_name)/2) like '%A%';

在 Oracle 中,您可以使用这个:

select last_name from workers 
where INSTR(lower(last_name, 'a', 1)) > 0 
and INSTR(lower(last_name, 'a', 1)) < 3 ;