ORA-00904错误正在使用select emp,来自emp的hiredate年(hiredate)> 80;查询。
答案 0 :(得分:1)
Oracle中没有year()
功能。也许你想要theextract()
function:
select emp, hiredate from emp
where extract(year from hiredate) > 80;
虽然你很可能不会让在 80年之前雇用 - 在AD / CE的第一个世纪 - 所以这将找到每个人,而且你真的想要:
select emp, hiredate from emp
where extract(year from hiredate) > 1980;
除非你添加一个基于函数的索引,否则必须检查每一行的值;要使用该列上的现有索引,您可以这样做:
select emp, hiredate from emp
where hiredate >= date '1981-01-01';