SQL-запрос для получения первого и последнего дня месяца в базе данных

Опубликовано: 28 Августа, 2022

В этой статье мы обсудим обзор SQL-запроса для выполнения операции с базой данных, и наше основное внимание будет сосредоточено на том, как получить первый и последний день месяца в базе данных в SQL. Давайте обсудим это один за другим.

Введение :
Запросы в SQL помогают нам взаимодействовать с базой данных, чтобы выполнить создание базы данных, обновление, поиск и манипулирование пользователем базы данных. Здесь мы говорим о запросе SQL, чтобы найти первый и последний день месяца в MySQL. В моем SQL формат даты ГГГГ-ММ-ДД .

Пример -

2021-03-23
Monday Wednesday are first and last days of the month.
Example2:
2021-04-06
Thursday Friday are first and last days of the month.

Шаг 1: Создание базы данных —

CREATE DATABASE calendar;

Выход :

Шаг 2: Использование базы данных –
Использование календаря базы данных следующим образом.

USE calendar;

Выход :

Шаг 3: Создание таблицы в базе данных календаря –
Создание таблицы в базе данных календаря с именем таблицы в виде дат и столбцом в виде даты дня следующим образом.

CREATE TABLE dates(daydate DATE);

Выход :

Шаг 4: Проверка данных в датах таблицы —
Для просмотра описания таблицы дат используется следующий SQL-запрос следующим образом.

DESCRIBE dates;

Выход :

Шаг 5: Вставка данных в таблицу —
Вставка строк в таблицу следующим образом.

 INSERT INTO dates values("2021-03-23");
 INSERT INTO dates values("2021-04-06");
 INSERT INTO dates values("2022-03-23");
 INSERT INTO dates values("2030-08-26");
 INSERT INTO dates values("2035-09-23");

Выход :

Шаг 6: Проверка данных —
Чтобы просмотреть таблицу со вставленными данными, используйте следующий SQL-запрос следующим образом.

 SELECT* FROM dates;

Выход :

Запрос, чтобы узнать первый и последний день даты:
В MySQL нет прямой функции для определения первого дня, но есть функция для нахождения дня месяца этой конкретной даты, поэтому с помощью этого мы можем вычесть дату предыдущего дня из даты заданного дня, чтобы получить первый день месяца.

Синтаксис:

Firstday: 
DATE_SUB(date1,INTERVAL DAYOFMONTH(date1)-1);
Syntax for DATE_SUB:
DATE_SUB(date1,date2) subtracts date2 from date1

SQL-запрос за последний день –
Последний день мы можем получить напрямую с помощью функции LAST_DAY.

Синтаксис:

LastDay:LAST_DAY(date);

Здесь в приведенном выше синтаксисе функция DAYOFMONTH дает конкретный день следующим образом.

SELECT daydate, DATE_SUB(daydate,INTERVAL DAYOFMONTH(daydate)- 1 DAY) 
AS firstday,
LAST_DAY(daydate) 
AS lastday
FROM dates;

Выход :
Здесь в таблице с помощью AS был изменен заголовок столбца по умолчанию.

Запрос, чтобы узнать первый и последний день даты с днями недели:
Используя функцию DAYNAME, мы можем получить день недели даты следующим образом.

Синтаксис:

DAYNAME(date1);

В этой таблице также были добавлены дни недели первого и последнего дня месяца следующим образом.

SELECT daydate, DATE_SUB(daydate,INTERVAL DAYOFMONTH(daydate)- 1 DAY) 
AS firstday,LAST_DAY(daydate) AS lastday,
DAYNAME( DATE_SUB(daydate,INTERVAL DAYOFMONTH(daydate)- 1 DAY)) 
AS weekday_of_fday ,DAYNAME(LAST_DAY(daydate)) 
AS weekday_of_lday
FROM dates;

Выход :