MariaDB PERIOD_DIFF() 函数使用指南

在 MariaDB 中,PERIOD_DIFF() 是一个内置函数,它返回两个通过年月指定的时期之间相差的月数。

MariaDB PERIOD_DIFF() 语法

这是 MariaDB PERIOD_DIFF() 函数的语法:

PERIOD_DIFF(period1, period2)

参数

period1
必需的。格式: YYYYMMYYMM
period2
必需的。格式: YYYYMMYYMM

如果您提供了错误数量的参数,MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'

返回值

MariaDB PERIOD_DIFF() 函数返回两个通过年月指定的时期之间相差的月数。

如果 period1 晚于 period2PERIOD_DIFF() 将返回一个正数,否则它将返回一个负数。

对于两位数年份,MariaDB 的处理规则如下:

  • 0069 的值将被转换为从 20002069
  • 7099 的值将被转换为从 19701999

MariaDB PERIOD_DIFF() 示例

示例 1

下面的语句展示了 MariaDB PERIOD_DIFF() 函数的基本用法:

SELECT PERIOD_DIFF(202408, 202302);

输出:

+-----------------------------+
| PERIOD_DIFF(202408, 202302) |
+-----------------------------+
|                          18 |
+-----------------------------+

让我们将两个参数交换位置,看一下发生了什么:

SELECT PERIOD_DIFF(202302, 202408);

输出:

+-----------------------------+
| PERIOD_DIFF(202302, 202408) |
+-----------------------------+
|                         -18 |
+-----------------------------+

示例 2 - 两位数年份

对于两位数年份,MariaDB 的处理规则如下:

  • 0069 的值将被转换为从 20002069
  • 7099 的值将被转换为从 19701999

例:

SELECT
    PERIOD_DIFF(6901, 6812),
    PERIOD_DIFF(7001, 6912);

输出:

+-------------------------+-------------------------+
| PERIOD_DIFF(6901, 6812) | PERIOD_DIFF(7001, 6912) |
+-------------------------+-------------------------+
|                       1 |                   -1199 |
+-------------------------+-------------------------+

结论

在 MariaDB 中,PERIOD_DIFF() 是一个内置函数,它返回两个通过年月指定的时期之间相差的月数。