在SQL中查询以显示其姓名的第二个字符位于' A'之间的员工。和' M'

时间:2015-09-20 03:31:49

标签: database oracle-sqldeveloper

我试过这些,但它们似乎都没有用。有人能帮帮我吗?

SELECT ename AS "Employee Name"
FROM  emp
WHERE ename BETWEEN LIKE ('_A%' AND  '_M%');
SELECT ename AS "Employee Name"
FROM  emp
WHERE ename BETWEEN LIKE '_A%' AND LIKE '_M%';

1 个答案:

答案 0 :(得分:0)

这可能是一个相当古老的帖子,但由于还没有人回答,这是我对它的看法(请记住,这可能不是唯一的方式或最好的方式,因为我&m; m还不是很有经验):

SELECT ename AS "Employee Name"
FROM  emp
WHERE UPPER(SUBSTR(ename, 2, 1)) BETWEEN 'A' AND 'M';

如果您的数据全部为大写,则不需要UPPER功能,但万一它不是..而且,如果您想选择第二个字母ename介于&#之间的数据39; A'和' M',包括两者在内,你可能想尝试使用BETWEEN' A'和' N'相反,因为当我使用我的sql开发人员尝试代码时,BETWEEN函数中AND语句之后的表达式是独占的。希望这会有所帮助:)