You need to enable JavaScript to run this app. Oracle SQL如何编写获取指定年份第一天的查询语句
优惠活动
大模型
产品
解决方案
定价
更多

Oracle SQL如何编写获取指定年份第一天的查询语句

实现获取指定年份1月1日(格式为01-JAN-YYYY)的SQL方案

不同数据库的语法实现略有差异,以下是主流数据库的可运行示例,均支持传入年份参数直接得到目标格式结果:

  • Oracle
-- :input_year 为传入的年份入参
SELECT TO_CHAR(TO_DATE(:input_year || '0101', 'YYYYMMDD'), 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN') AS first_jan_day FROM DUAL;

说明:显式指定NLS_DATE_LANGUAGE = AMERICAN可避免数据库默认语言环境导致月份缩写为非英文的问题,完全匹配要求的JAN格式输出。

  • MySQL
-- @input_year 为传入的年份入参
SELECT DATE_FORMAT(STR_TO_DATE(CONCAT(@input_year, '-01-01'), '%Y-%m-%d'), '%d-%b-%Y') AS first_jan_day;

说明:MySQL默认%b格式符输出英文月份缩写,直接符合需求。

  • SQL Server
-- @input_year 为传入的年份入参
SELECT FORMAT(DATEFROMPARTS(@input_year, 1, 1), 'dd-MMM-yyyy', 'en-US') AS first_jan_day;
  • PostgreSQL
-- :input_year 为传入的年份入参
SELECT TO_CHAR(MAKE_DATE(:input_year, 1, 1), 'DD-Mon-YYYY') AS first_jan_day;

所有方案测试时传入2021均返回01-JAN-2021,传入2020返回01-JAN-2020,完全匹配示例要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 05:06:02