Sql Oracle:YEAR关键字无效

Sql Oracle:YEAR关键字无效,sql,oracle,Sql,Oracle,我的一个oracle表中的price_date列中存储了日期。我需要过滤属于2014年的记录,例如 select * from MIS_PERMAL.MV_INDEX_PERFORMANCE where index_id = 1045 and YEAR(PRICE_DATE) = 2014 我收到一个错误,说年份无效。Oracle没有YEAR()函数。您似乎从另一个数据库()获得了该语法 您可以改为使用: 我对Alex的答案投了赞成票,以下是另一种方法: select * from MIS_

我的一个oracle表中的price_date列中存储了日期。我需要过滤属于2014年的记录,例如

select * from MIS_PERMAL.MV_INDEX_PERFORMANCE 
where index_id = 1045 and YEAR(PRICE_DATE) = 2014

我收到一个错误,说年份无效。

Oracle没有
YEAR()
函数。您似乎从另一个数据库()获得了该语法

您可以改为使用:


我对Alex的答案投了赞成票,以下是另一种方法:

select * from MIS_PERMAL.MV_INDEX_PERFORMANCE 
where index_id = 1045 and trunc(PRICE_DATE, 'YYYY') = date '2014-01-01';

有趣的是,你提到它+1,因为我实际上认为Oracle确实有一个
YEAR
功能。使用MySQL可能会造成混乱。因此,请在中查找此函数。
select * from MIS_PERMAL.MV_INDEX_PERFORMANCE 
where index_id = 1045 and trunc(PRICE_DATE, 'YYYY') = date '2014-01-01';