【问题标题】:Oracle : YEAR Keyword invalidOracle : YEAR 关键字无效
【发布时间】:2019-09-03 12:18:03
【问题描述】:

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

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

我收到错误说 YEAR 无效。

【问题讨论】:

标签: sql oracle


【解决方案1】:

Oracle 没有year() 函数。您似乎从不同的数据库 (like MySQL) 获得了该语法。

您可以改用the extract() function

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

【讨论】:

  • 有趣的是你提到它 +1,因为我实际上认为 Oracle 确实有一个 YEAR 函数。使用 MySQL 可能会造成混淆。
【解决方案2】:

我对 Alex 的回答投了赞成票,这是另一种方法:

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

【讨论】:

    猜你喜欢
    • 2012-08-23
    • 2015-07-15
    • 2012-09-23
    • 2020-07-13
    • 1970-01-01
    • 2020-04-12
    • 2016-11-02
    • 2011-10-19
    • 2022-10-13
    相关资源
    最近更新 更多