MySQLでは、TO_DAYS()
を使用できます 0日から何日経過したかを調べる関数 特定の日付。たとえば、今日の日付をこの関数に渡すと、 0日からの経過日数が返されます。 。
この記事には、デモンストレーションの例が含まれています。
構文
構文は次のようになります:
TO_DAYS(date)
date
は計算に使用する日付です。
例
実例を示します。
SELECT TO_DAYS('1999-12-31');
結果:
+-----------------------+ | TO_DAYS('1999-12-31') | +-----------------------+ | 730484 | +-----------------------+
MySQLのドキュメントでは、この関数はグレゴリオ暦(1582)の出現より前の値での使用を目的としていないとアドバイスされていることに注意してください。これは、カレンダーが変更されたときに失われた日数が考慮されていないためです。
例2–現在の日付
現在の日付を使用した例を次に示します。
SELECT CURDATE(), TO_DAYS(CURDATE());
結果:
+------------+--------------------+ | CURDATE() | TO_DAYS(CURDATE()) | +------------+--------------------+ | 2018-06-26 | 737236 | +------------+--------------------+
まず、CURDATE()
を使用します 現在の日付を返す関数を使用して、その関数をTO_DAYS()
に渡します。 0日からの日数を返す関数 。
TO_DAYS()とFROM_DAYS()
FROM_DAYS()
関数はTO_DAYS()
の反対です 、日付を指定すると、日番号を返します。これら2つの関数の関係を示す例を次に示します。
SELECT CURDATE(), TO_DAYS(CURDATE()), FROM_DAYS(TO_DAYS(CURDATE()));
結果:
+------------+--------------------+-------------------------------+ | CURDATE() | TO_DAYS(CURDATE()) | FROM_DAYS(TO_DAYS(CURDATE())) | +------------+--------------------+-------------------------------+ | 2018-06-26 | 737236 | 2018-06-26 | +------------+--------------------+-------------------------------+
したがって、この例ではTO_DAYS()
を使用します 現在の日付からの日数を返します。次に、FROM_DAYS()
を使用します その値から日付を返します(予想どおり、CURDATE()
の元の値に解決されます。 。