SQL 日期函数如何实现日期加减月份?

32次阅读

不同数据库通过特定函数实现日期月份加减:MySQL用DATE_ADD()配合INTERVAL,PostgreSQL支持日期直接加减INTERVAL,SQL Server使用DATEADD(),Oracle则用ADD_MONTHS()函数处理。

SQL 日期函数如何实现日期加减月份?

在 SQL 中对日期进行月份加减,主要依赖数据库提供的日期函数。不同数据库语法略有差异,但核心思路一致:使用内置函数对日期字段或值增加或减少指定的月份数。

MySQL:使用 DATE_ADD 或 INTERVAL

MySQL 提供 DATE_ADD() 函数,配合 INTERVAL 关键字实现月份增减。

示例:

  • 给日期加 3 个月:
    SELECT DATE_ADD(‘2023-01-15’, INTERVAL 3 MONTH);
  • 从日期减 2 个月:
    SELECT DATE_ADD(‘2023-01-15’, INTERVAL -2 MONTH);
  • 也可以用负数直接减:
    SELECT DATE_SUB(‘2023-01-15’, INTERVAL 2 MONTH);

PostgreSQL:支持直接运算

PostgreSQL 允许直接对日期使用 + 操作符配合 INTERVAL

SQL 日期函数如何实现日期加减月份?

腾讯智影-AI数字人

基于ai数字人能力,实现7*24小时AI数字人直播带货,低成本实现直播业务快速增增,全天智能在线直播

SQL 日期函数如何实现日期加减月份?73

查看详情 SQL 日期函数如何实现日期加减月份?

示例:

  • 加 4 个月:
    SELECT ‘2023-01-15’::date + INTERVAL ‘4 months’;
  • 减 1 个月:
    SELECT ‘2023-01-15’::date – INTERVAL ‘1 month’;

SQL Server:使用 DATEADD

SQL Server 使用 DATEADD() 函数完成月份调整。

示例:

  • 加 6 个月:
    SELECT DATEADD(MONTH, 6, ‘2023-01-15’);
  • 减 3 个月:
    SELECT DATEADD(MONTH, -3, ‘2023-01-15’);

Oracle:ADD_MONTHS 函数

Oracle 提供专用的 ADD_MONTHS() 函数处理月份增减。

示例:

  • 加 5 个月:
    SELECT ADD_MONTHS(DATE ‘2023-01-15’, 5) FROM dual;
  • 减 2 个月:
    SELECT ADD_MONTHS(DATE ‘2023-01-15’, -2) FROM dual;

基本上就这些常用方法。根据你使用的数据库选择对应函数即可。注意日期格式和边界情况(如 1 月 31 日加一个月可能变为 2 月底)。不复杂但容易忽略细节。

mysql oracle sql mysql select date oracle postgresql 数据库

text=ZqhQzanResources