MariaDB PERIOD_ADD() 函数的基础用法与实例

MariaDB PERIOD_ADD() 函数用来对年月期间进行加减操作。它可以将给定的年月期间值加上或减去指定的月数。

发布于

MariaDB PERIOD_ADD() 函数用来对年月期间进行加减操作。它可以将给定的年月期间值加上或减去指定的月数。该函数通常用于日期和时间计算中的周期性调整。

语法

MairaDB PERIOD_ADD() 函数的语法如下:

PERIOD_ADD(P, N)
  • P: 要进行加减操作的起始年月期间值。年月期间值的格式为 YYYYMMYYYYMMMM
  • N: 要加/减的月数。正数表示向后推进 N 个月,负数表示向前推移 N 个月。

该函数返回加减后的年月期间值,返回值的格式与 P 参数的格式相同。

实例

将起始年月期间值推进若干月

此实例展示如何使用 PERIOD_ADD() 函数将一个年月期间值向后推进若干月。

SELECT PERIOD_ADD(202302, 5) AS '5个月后';

以下是该语句的输出:

+------------+
| 5个月后    |
+------------+
|     202307 |
+------------+

该语句将起始年月期间值 202302 (2023 年 2 月) 向后推进 5 个月,得到的结果是 202307 (2023 年 7 月)。

查询雇员入职后若干月的工资

此实例展示如何使用 PERIOD_ADD() 函数查询某个雇员入职后若干月时的工资情况。

首先创建一个雇员表:

DROP TABLE IF EXISTS employees;
CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    hired_period INT,
    salary DECIMAL(10, 2)
);

INSERT INTO employees VALUES
    (1, 'John Doe', 202301, 5000.00),
    (2, 'Jane Smith', 202211, 6500.00),
    (3, 'Bob Johnson', 202105, 7200.00);

然后查询雇员入职后 6 个月的工资情况:

SELECT
    id, name,
    PERIOD_ADD(hired_period, 6) AS period_after_6_months,
    salary
FROM employees;

以下是该语句的输出:

+----+-------------+-----------------------+---------+
| id | name        | period_after_6_months | salary  |
+----+-------------+-----------------------+---------+
|  1 | John Doe    |                202307 | 5000.00 |
|  2 | Jane Smith  |                202305 | 6500.00 |
|  3 | Bob Johnson |                202111 | 7200.00 |
+----+-------------+-----------------------+---------+

该查询首先使用 PERIOD_ADD(hired_period, 6) 计算每个雇员入职后 6 个月的年月期间值,然后将其与雇员的姓名、ID 和工资一并列出。

相关函数

以下是几个与 MairaDB PERIOD_ADD() 相关的几个函数:

  • MariaDB PERIOD_DIFF() 函数用来计算两个年月期间值之间相差的月数。
  • MariaDB EXTRACT() 函数用来从日期或时间值中提取出年、月、日、时、分、秒等部分。
  • MariaDB DATE_ADD() 函数用来对日期或时间值进行加减操作。
  • MariaDB DATE_FORMAT() 函数用来格式化日期和时间值的显示格式。

结论

MariaDB PERIOD_ADD() 函数提供了一种方便的方式来对年月期间值进行加减操作。通过将年月期间值与要加/减的月数相结合,可以方便地计算出目标年月期间值。该函数在涉及周期性日期调整的场景中非常实用,如计算雇员入职后若干月的工资等。只需注意传入的参数格式即可轻松使用该函数。