sql >> データベース >  >> RDS >> Mysql

MySQLの日付と時刻の単位(完全なリスト)

    MySQLの日時関数と間隔関数で使用できる単位のリストは次のとおりです。

    unit 価値 予想されるexpr フォーマット
    MICROSECOND MICROSECONDS
    SECOND SECONDS
    MINUTE MINUTES
    HOUR HOURS
    DAY DAYS
    WEEK WEEKS
    MONTH MONTHS
    QUARTER QUARTERS
    YEAR YEARS
    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 'DAYS HOURS:MINUTES:SECONDS.MICROSECONDS'
    DAY_SECOND 'DAYS HOURS:MINUTES:SECONDS'
    DAY_MINUTE 'DAYS HOURS:MINUTES'
    DAY_HOUR 'DAYS HOURS'
    YEAR_MONTH 'YEARS-MONTHS'

    これらのユニットは、+で使用できます および- ADDDATE()などの関数を使用して、日付の算術演算を実行する場合の演算子 、SUBDATE()DATE_ADD()DATE_SUB() 、およびEXTRACT()

    ON SCHEDULEでも使用できます CREATE_EVENT()の句 およびALTER_EVENT() 機能。

    最初の9つのユニットは、TIMESTAMPADD()で使用できます。 およびTIMESTAMPDIFF() (これらの2つの関数は、執筆時点では複合ユニットをサポートしていません。)

    アンダースコアを含む単位は複合単位です。これらは、複数の基本時間単位で構成されています。これらは、一度に複数のユニットを指定するための簡単な方法と考えることができます。各ユニットは、任意の句読文字で区切ることができます。

    日時式に年を追加する例を次に示します。

    SELECT '2035-01-01 01:30:45' + INTERVAL 1 YEAR;

    結果:

    2036-01-01 01:30:45

    この場合、+を使用します 追加を実行する演算子。

    日時関数

    日付と時刻の単位は、さまざまな日付関数で使用できます。

    これがDATE_ADD()です。 機能:

    SELECT DATE_ADD('2035-01-01 01:30:45', INTERVAL 1 YEAR);

    結果:

    2036-01-01 01:30:45

    複合ユニット

    複合ユニットを使用する例を次に示します。

    SELECT 
        DATE_ADD('2035-01-01 01:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
        DATE_ADD('2035-01-01 01:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
        DATE_ADD('2035-01-01 01:00:00', INTERVAL '1:30:25' DAY_MINUTE) AS "DAY_MINUTE";

    結果:

    +---------------------+---------------------+---------------------+
    | YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
    +---------------------+---------------------+---------------------+
    | 2036-03-01 01:00:00 | 2035-01-01 02:25:35 | 2035-01-03 07:25:00 |
    +---------------------+---------------------+---------------------+

    整数は、任意の句読文字で区切ることができます。したがって、コロンをピリオドに置き換えて、同じ結果を得ることができます。

    SELECT 
        DATE_ADD('2035-01-01 01:00:00', INTERVAL '1.2' YEAR_MONTH) AS "YEAR_MONTH",
        DATE_ADD('2035-01-01 01:00:00', INTERVAL '1.25.35' HOUR_SECOND) AS "HOUR_SECOND",
        DATE_ADD('2035-01-01 01:00:00', INTERVAL '1.30.25' DAY_MINUTE) AS "DAY_MINUTE";

    結果:

    +---------------------+---------------------+---------------------+
    | YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
    +---------------------+---------------------+---------------------+
    | 2036-03-01 01:00:00 | 2035-01-01 02:25:35 | 2035-01-03 07:25:00 |
    +---------------------+---------------------+---------------------+

    1. PostgreSQLを使用して同じクエリの複数の行を更新する

    2. SQL、結果を連結する方法は?

    3. OracleでASCII値を取得する方法は?

    4. JSONファイルをPostgreSQLにインポートするにはどうすればよいですか?