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

LAST_DAY()の例– MySQL

    MySQLを使用する場合は、LAST_DAY()を使用できます 特定の月の最終日を返す関数。

    現在の日付を指定することも、別の指定された日付(たとえば、データベースの列の日付)を指定して、LAST_DAY()を指定することもできます。 その日の月末日を返します。

    構文

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

    LAST_DAY(date)
    

    date 最終日を返却する日付です。

    例1-基本的な使用法

    これがその仕組みを示す例です。

    SELECT LAST_DAY('2021-01-01');
    

    結果:

    +------------------------+
    | LAST_DAY('2021-01-01') |
    +------------------------+
    | 2021-01-31             |
    +------------------------+
    

    したがって、引数として指定した日付を取り、その月の最終日を返します。

    例2–うるう年

    ご想像のとおり、うるう年に対処できるほど賢いです。

    うるう年以外

    SELECT LAST_DAY('2021-02-01');
    

    結果:

    +------------------------+
    | LAST_DAY('2021-02-01') |
    +------------------------+
    | 2021-02-28             |
    +------------------------+
    

    うるう年

    SELECT LAST_DAY('2020-02-01');
    

    結果:

    +------------------------+
    | LAST_DAY('2020-02-01') |
    +------------------------+
    | 2020-02-29             |
    +------------------------+
    

    例3–日時の値

    日時を指定することもできます 値。

    SELECT LAST_DAY('2021-02-01 23:59:15');
    

    結果:

    +---------------------------------+
    | LAST_DAY('2021-02-01 23:59:15') |
    +---------------------------------+
    | 2021-02-28                      |
    +---------------------------------+
    

    例4–無効な値

    無効な日付を指定すると、null値が返されます。

    SELECT LAST_DAY('2021-02-32');
    

    結果:

    +------------------------+
    | LAST_DAY('2021-02-32') |
    +------------------------+
    | NULL                   |
    +------------------------+
    1 row in set, 1 warning (0.00 sec)
    

    例5–データベースの例

    これは、データベースクエリで使用されているこの関数の例です。

    USE sakila;
    SELECT
      payment_date AS 'Date/Time',
      LAST_DAY(payment_date) AS 'Last day of month'
    FROM payment
    WHERE payment_id = 1;
    

    結果:

    +---------------------+-------------------+
    | Date/Time           | Last day of month |
    +---------------------+-------------------+
    | 2005-05-25 11:30:37 | 2005-05-31        |
    +---------------------+-------------------+
    


    1. MariaDBで英数字のみを含む行を返す2つの方法

    2. MySQLのパフォーマンス–遅いクエリとinnodb_buffer_pool_size

    3. SQLServer2008でトランザクションログを表示する方法

    4. PostgreSQL列fooは存在しません。fooは値です。