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

DATE_SUB()の例– MySQL

    MySQLでは、DATE_SUB()を使用できます 日付から指定された時間を減算する関数。たとえば、これを使用して、特定の日付から7日を引くことができます。日、週、月、四半期、年などを減算するかどうかを指定できます。秒、マイクロ秒などの時間値を減算することもできます。

    この関数は、DATE_ADD()に似ています。 、ただし、日付に加算するのではなく、日付から減算します。

    構文

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

    DATE_SUB(date,INTERVAL expr unit)

    例1-基本的な使用法

    使用例を次に示します。

    SELECT DATE_SUB('2021-05-07', INTERVAL 5 DAY) AS Result;

    結果:

    +------------+
    | Result     |
    +------------+
    | 2021-05-02 |
    +------------+

    この例では、最初の引数で指定された日付から5日を差し引きます。

    例2–その他の日付単位

    単位は、日、週、月、年などで指定できます。いくつかの例を示します。

    SELECT 
        '2021-05-07' AS 'Start Date',
        DATE_SUB('2021-05-07', INTERVAL 2 WEEK) AS '-2 Weeks',
        DATE_SUB('2021-05-07', INTERVAL 2 MONTH) AS '-2 Months',
        DATE_SUB('2021-05-07', INTERVAL 2 QUARTER) AS '-2 Quarters',
        DATE_SUB('2021-05-07', INTERVAL 2 YEAR) AS '-2 Years';
    

    結果:

    +------------+------------+------------+-------------+------------+
    | Start Date | -2 Weeks   | -2 Months  | -2 Quarters | -2 Years   |
    +------------+------------+------------+-------------+------------+
    | 2021-05-07 | 2021-04-23 | 2021-03-07 | 2020-11-07  | 2019-05-07 |
    +------------+------------+------------+-------------+------------+

    例3–時間単位

    日付/時刻の値から時間単位を減算することもできます。これが例です。

    SELECT DATE_SUB('2021-05-07 10:00:00', INTERVAL 5 HOUR) AS Result;
    

    結果:

    +---------------------+
    | Result              |
    +---------------------+
    | 2021-05-07 05:00:00 |
    +---------------------+

    また、同時に複数のユニットを指定することができます。たとえば、時間と分を指定できます。このように。

    SELECT DATE_SUB('2021-05-07 10:00:00', INTERVAL '1:30' HOUR_MINUTE) AS Result;
    

    結果:

    +---------------------+
    | Result              |
    +---------------------+
    | 2021-05-07 08:30:00 |
    +---------------------+

    期待値

    次の表に、有効な単位値と予想される形式を示します。

    unit 価値 予想されるexpr フォーマット
    MICROSECOND マイクロ秒
    2番目
    MINUTE
    時間 時間
    QUARTER 四半期
    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 「DAYSHOURS:MINUTES:SECONDS.MICROSECONDS」
    DAY_SECOND 「DAYSHOURS:MINUTES:SECONDS」
    DAY_MINUTE 「DAYSHOURS:MINUTES」
    DAY_HOUR 「DAYSHOURS」
    YEAR_MONTH 「YEARS-MONTHS」

    SUBDATE()を使用することもできます 同じことを行う関数(DATE_SUB()の同義語です 同じ構文を使用すると機能します。

    さらに、SUBDATE()の構文 2番目の形式があります。これは、日付から特定の日数を減算する簡略化された方法です。詳細については、MySQLのSUBDATE()の例を参照してください。


    1. コマンドラインを介してLinux上のMySQLデータベースを表示(リスト)

    2. RecyclerViewでのデータの表示

    3. PHPデータベース抽象化レイヤーとCRUDプラグインの比較

    4. MariaDBマイナスオペレーターの説明