MariaDBでは、TO_DAYS()
は、指定された日付に基づいて、標準カレンダーの開始からの日数(0000-00-00)を返す組み込みの日付と時刻の関数です。
関数を呼び出すときに、関数に日付を渡します。
TO_DAYS()
関数はFROM_DAYS()
の逆です 機能。
構文
構文は次のようになります:
TO_DAYS(date)
date
0000-00-00からの日数を返す日付です。
例
次に例を示します:
SELECT TO_DAYS('2028-12-31');
結果:
+-----------------------+ | TO_DAYS('2028-12-31') | +-----------------------+ | 741077 | +-----------------------+
今日の日付に基づく
NOW()
を使用する例を次に示します。 0000-00-00から今日までの日数を返すには:
SELECT
NOW(),
TO_DAYS(NOW());
結果:
+---------------------+----------------+ | NOW() | TO_DAYS(NOW()) | +---------------------+----------------+ | 2021-05-23 09:56:45 | 738298 | +---------------------+----------------+
無効な引数
無効な引数が渡されると、TO_DAYS()
NULL
を返します 警告付き:
SELECT TO_DAYS('Oops!');
結果:
+------------------+ | TO_DAYS('Oops!') | +------------------+ | NULL | +------------------+ 1 row in set, 1 warning (0.000 sec)
警告を確認してください:
SHOW WARNINGS;
結果:
+---------+------+-----------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------+ | Warning | 1292 | Incorrect datetime value: 'Oops!' | +---------+------+-----------------------------------+
引数がありません
TO_DAYS()
を呼び出す 引数の数が間違っているか、引数を渡さないと、エラーが発生します:
SELECT TO_DAYS();
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'
そして別の例:
SELECT TO_DAYS( '2028-12-31', '2029-12-31' );
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'
グレゴリオ暦以前
TO_DAYS()
この関数は、グレゴリオ暦(1582年10月に導入された)が登場する前の日付で使用するようには設計されていません。カレンダーがユリウス暦から変更されたときに失われた日数が考慮されていないため、結果は信頼できません。