MariaDBでは、PERIOD_DIFF()
は、2つの期間の間の月数を返す組み込みの日付と時刻の関数です。
構文
構文は次のようになります:
PERIOD_DIFF(P1,P2)
ここでP1
およびP2
の違いを得る期間です。
どちらの引数もYYMMまたはYYYYMMの形式です。日付の値ではありません。
例
次に例を示します:
SELECT PERIOD_DIFF(202108, 202101);
結果:
+-----------------------------+ | PERIOD_DIFF(202108, 202101) | +-----------------------------+ | 7 | +-----------------------------+
この例では、2つの期間の間に7か月の違いがあります。
順序を切り替える
最初の期間が2番目の期間よりも早い期間である場合、結果は負の値になります。
前の例で引数の順序を切り替えると、次のようになります。
SELECT PERIOD_DIFF(202101, 202108);
結果:
+-----------------------------+ | PERIOD_DIFF(202101, 202108) | +-----------------------------+ | -7 | +-----------------------------+
2桁の年
引数のいずれかに2桁の年が含まれている場合、00から69までの値は2000から2069に変換され、70からの値は1970以上に変換されます。
例:
SELECT
PERIOD_DIFF(6911, 6912),
PERIOD_DIFF(6911, 7001);
結果:
+-------------------------+-------------------------+ | PERIOD_DIFF(6911, 6912) | PERIOD_DIFF(6911, 7001) | +-------------------------+-------------------------+ | -1 | 1198 | +-------------------------+-------------------------+
引数がありません
PERIOD_DIFF()
を呼び出す 引数の数が間違っているか、引数を渡さないと、エラーが発生します:
SELECT PERIOD_DIFF();
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'
そして別の例:
SELECT PERIOD_DIFF( 6912 );
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'