以下は、MariaDBで使用できる日付と時刻の単位の完全なリストです。
ユニット | 説明 |
---|---|
MICROSECOND | マイクロ秒 |
SECOND | 秒 |
MINUTE | 分 |
HOUR | 時間 |
DAY | 日 |
WEEK | 週 |
MONTH | 月 |
QUARTER | 四半期 |
YEAR | 年 |
SECOND_MICROSECOND | Seconds.Microseconds |
MINUTE_MICROSECOND | Minutes.Seconds.Microseconds |
MINUTE_SECOND | Minutes.Seconds |
HOUR_MICROSECOND | Hours.Minutes.Seconds.Microseconds |
HOUR_SECOND | Hours.Minutes.Seconds |
HOUR_MINUTE | Hours.Minutes |
DAY_MICROSECOND | 日時間。分。秒。マイクロ秒 |
DAY_SECOND | 日時間。分。秒 |
DAY_MINUTE | 日時間。分 |
DAY_HOUR | 日数 |
YEAR_MONTH | 年-月 |
これらは+
で使用できます および-
ADDDATE()
などの関数を使用して、日付の算術演算を実行する場合の演算子 、SUBDATE()
、DATE_ADD()
、DATE_SUB()
、EXTRACT()
、TIMESTAMPADD()
、およびTIMESTAMPDIFF()
。
ON SCHEDULE
でも使用できます CREATE_EVENT()
の句 およびALTER_EVENT()
機能。
アンダースコアを含む時間単位は複合単位です。これらは、複数の基本時間単位で構成されています。これらは、一度に複数のユニットを指定するための一種の簡単な方法です。各ユニットは、任意の句読文字で区切ることができます。
例
日時式に1時間を追加する例を次に示します。
SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR;
結果:
+-----------------------------------------+ | '2021-05-31 10:00:00' + INTERVAL 1 HOUR | +-----------------------------------------+ | 2021-05-31 11:00:00 | +-----------------------------------------+
この場合、+
を使用します 追加を実行する演算子。
日時関数
日付と時刻の単位は、さまざまな日付関数で使用できます。
これがDATE_ADD()
です。 機能:
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR);
結果:
+--------------------------------------------------+ | DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) | +--------------------------------------------------+ | 2021-05-31 11:00:00 | +--------------------------------------------------+
複合ユニット
複合ユニットを使用する例を次に示します。
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30:25' DAY_MINUTE) AS "DAY_MINUTE";
結果:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+
整数は、任意の句読文字で区切ることができます。したがって、コロンをピリオドに置き換えて、同じ結果を得ることができます。
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.2' YEAR_MONTH) AS "YEAR_MONTH",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.25.35' HOUR_SECOND) AS "HOUR_SECOND",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.30.25' DAY_MINUTE) AS "DAY_MINUTE";
結果:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+