You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写仅显示年份的Oracle SQL查询?

Oracle SQL仅显示年份的几种实现方法

嘿,我来帮你搞定这个需求!在Oracle里提取并仅显示日期中的年份,有几种简单实用的方法,下面给你详细说明:

方法1:使用EXTRACT函数(返回数字类型年份)

EXTRACT是SQL标准函数,能直接从日期/时间戳中提取指定的部分,用来拿年份非常直观。它返回的是数字类型的年份值,适合后续需要做数值计算的场景。

示例代码:

SELECT EXTRACT(YEAR FROM hire_date) AS hire_year
FROM employees;

这里hire_date是你的日期列名,hire_year是自定义的结果列别名,你可以根据实际表和列名替换。

方法2:使用TO_CHAR函数(返回字符串类型年份)

如果需要将年份以字符串形式输出(比如做格式化展示),可以用TO_CHAR函数,通过指定格式模型'YYYY'来提取4位年份。

示例代码:

SELECT TO_CHAR(hire_date, 'YYYY') AS hire_year
FROM employees;

如果需要把字符串类型的年份转成数字,只需要嵌套TO_NUMBER函数即可:

SELECT TO_NUMBER(TO_CHAR(hire_date, 'YYYY')) AS hire_year
FROM employees;

额外注意事项

  • 确保你的目标列是DATE或TIMESTAMP类型,如果是存储为字符串的日期,需要先使用TO_DATE函数转换为日期类型再处理,比如:
    SELECT EXTRACT(YEAR FROM TO_DATE(str_date_column, 'YYYY-MM-DD')) AS year
    FROM your_table;
    
    这里的'YYYY-MM-DD'要和你字符串日期的实际格式匹配。
  • 如果只需要获取当前年份,可以直接用EXTRACT(YEAR FROM SYSDATE)或者TO_CHAR(SYSDATE, 'YYYY')。

内容的提问来源于stack exchange,提问作者surya srujana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:31:53