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

MariaDBでのTIMESTAMPADD()のしくみ

    MariaDBでは、TIMESTAMPADD() は、指定された日付または日時式に整数式の間隔を追加する組み込みの日付と時刻の関数です。

    構文

    構文は次のようになります:

    TIMESTAMPADD(unit,interval,datetime_expr)

    unit は次のいずれかの値です:

    • MICROSECOND
    • SECOND
    • MINUTE
    • HOUR
    • DAY
    • WEEK
    • MONTH
    • QUARTER
    • YEAR

    ユニットには、オプションでSQL_TSI_のプレフィックスを付けることができます。 。

    デモンストレーションの例を次に示します。

    SELECT TIMESTAMPADD(DAY, 10, '2030-02-01');

    結果:

    +-------------------------------------+
    | TIMESTAMPADD(DAY, 10, '2030-02-01') |
    +-------------------------------------+
    | 2030-02-11                          |
    +-------------------------------------+

    日時の値

    日時の値を渡す例は次のとおりです。

    SELECT TIMESTAMPADD(HOUR, 10, '2030-02-01 10:30:45');

    結果:

    +-----------------------------------------------+
    | TIMESTAMPADD(HOUR, 10, '2030-02-01 10:30:45') |
    +-----------------------------------------------+
    | 2030-02-01 20:30:45                           |
    +-----------------------------------------------+

    SQL_TSI_の追加 プレフィックス

    ユニットにはSQL_TSI_を含めることができます 必要に応じてプレフィックス:

    SELECT TIMESTAMPADD(SQL_TSI_YEAR, 10, '2030-02-01');

    結果:

    +----------------------------------------------+
    | TIMESTAMPADD(SQL_TSI_YEAR, 10, '2030-02-01') |
    +----------------------------------------------+
    | 2040-02-01                                   |
    +----------------------------------------------+

    マイクロ秒

    マイクロ秒を追加する例を次に示します。

    SELECT TIMESTAMPADD(MICROSECOND, 123456, '2030-02-01 10:30:45');

    結果:

    +----------------------------------------------------------+
    | TIMESTAMPADD(MICROSECOND, 123456, '2030-02-01 10:30:45') |
    +----------------------------------------------------------+
    | 2030-02-01 10:30:45.123456                               |
    +----------------------------------------------------------+

    負の間隔

    負の間隔が有効です:

    例:

    SELECT TIMESTAMPADD(YEAR, -10, '2030-02-01');

    結果:

    +---------------------------------------+
    | TIMESTAMPADD(YEAR, -10, '2030-02-01') |
    +---------------------------------------+
    | 2020-02-01                            |
    +---------------------------------------+
    >

    現在の日付

    NOW()を渡すことができます 現在の日時を使用する日時引数として:

    SELECT 
        NOW(),
        TIMESTAMPADD(DAY, 10, NOW());

    結果:

    +---------------------+------------------------------+
    | NOW()               | TIMESTAMPADD(DAY, 10, NOW()) |
    +---------------------+------------------------------+
    | 2021-05-28 09:58:56 | 2021-06-07 09:58:56          |
    +---------------------+------------------------------+

    引数がありません

    TIMESTAMPADD()の呼び出し 引数の数が間違っているか、引数を渡さないと、エラーが発生します:

    SELECT TIMESTAMPADD();

    結果:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

    そして別の例:

    SELECT TIMESTAMPADD(10, '2020-12-09');

    結果:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '10, '2020-12-09')' at line 1

    1. シーケンスのPostgreSQLの次の値?

    2. justify_hours()がPostgreSQLでどのように機能するか

    3. MariaDBでMINUS演算子を使用するときのエラー1064(42000)を修正しました

    4. PostgreSQLは構成/confファイルをどこに保存しますか?