Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да получите последния ден от месеца в MySQL

Можем да използваме LAST_DAY() на MySQL функция за връщане на последния ден от даден месец.

Това може да бъде последният ден от текущия месец или последният ден от месеца въз основа на дата, която посочваме.

Пример

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

Резултат:

2030-04-30

В този случай посоченият месец (май) има 30 дни и така получаваме 30-то число на този месец.

Ето го с различните месеци от годината:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите текущата дата в MySQL

  2. Как да нулирам паролата за root на mysql?

  3. Какво е SQL? Какво е база данни? Системи за управление на релационни бази данни (RDBMS) обяснени на обикновен английски.

  4. mysqli_fetch_array() очаква параметър 1 да бъде mysqli_result, булев, даден в

  5. Как да възстановим непоследователен MySQL Slave?