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

MySQLで月末を取得する方法

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

    これは、当月の最終日、または指定した日付に基づく月の最終日である可能性があります。

    SELECT LAST_DAY('2030-04-15');

    結果:

    2030-04-30

    この場合、指定された月(5月)は30日なので、その月の30日を取得します。

    これが1年のさまざまな月です:

    SELECT 
        LAST_DAY('2030-01-15') AS "Jan",
        LAST_DAY('2030-02-15') AS "Feb",
        LAST_DAY('2030-03-15') AS "Mar",
        LAST_DAY('2030-04-15') AS "Apr",
        LAST_DAY('2030-05-15') AS "May",
        LAST_DAY('2030-06-15') AS "Jun",
        LAST_DAY('2030-07-15') AS "Jul",
        LAST_DAY('2030-08-15') AS "Aug",
        LAST_DAY('2030-09-15') AS "Sep",
        LAST_DAY('2030-10-15') AS "Oct",
        LAST_DAY('2030-11-15') AS "Nov",
        LAST_DAY('2030-12-15') AS "Dec";

    結果:

    +------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+
    | Jan        | Feb        | Mar        | Apr        | May        | Jun        | Jul        | Aug        | Sep        | Oct        | Nov        | Dec        |
    +------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+
    | 2030-01-31 | 2030-02-28 | 2030-03-31 | 2030-04-30 | 2030-05-31 | 2030-06-30 | 2030-07-31 | 2030-08-31 | 2030-09-30 | 2030-10-31 | 2030-11-30 | 2030-12-31 |
    +------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+

    データベースの例

    データベースの日付を使用する例を次に示します。

    CREATE TABLE employees (
      empId INTEGER PRIMARY KEY,
      name TEXT NOT NULL,
      start_date DATE NOT NULL
    );
    
    INSERT INTO employees VALUES (0001, 'Rohit', '2020-02-15');
    INSERT INTO employees VALUES (0002, 'Zohan', '2017-08-09');
    INSERT INTO employees VALUES (0003, 'Jen', '2010-09-03');
    INSERT INTO employees VALUES (0004, 'Eve', '2011-10-24');
    INSERT INTO employees VALUES (0005, 'Ryan', '2021-11-08');
    
    SELECT 
      start_date,
      CAST(LAST_DAY(start_date) AS DATE) AS "End of Month"
    FROM employees;

    結果:

    start_date	End of Month
    2020-02-15	2020-02-29
    2017-08-09	2017-08-31
    2010-09-03	2010-09-30
    2011-10-24	2011-10-31
    2021-11-08	2021-11-30

    この場合、CAST()も使用しました datetimeをキャストする関数 dateの値 値。


    1. psqlで当月の日曜日のカウントを取得するにはどうすればよいですか?

    2. AFTER LOGON(Oracle)は、拡張子が付けられたPostgreSQLでトリガーされます– login_hook

    3. PostgreSqlでDB所有者の名前を取得します

    4. SQLiteとは