📌  相关文章
📜  SQL查询以获取数据库中一个月的第一天和最后一天

📅  最后修改于: 2022-05-13 01:54:38.981000             🧑  作者: Mango

SQL查询以获取数据库中一个月的第一天和最后一天

在本文中,我们将讨论对数据库执行操作的 SQL 查询的概述,我们的主要重点将放在如何在 SQL 中获取数据库中一个月的第一天和最后一天。让我们一一讨论。

介绍 :
SQL 中的查询帮助我们与数据库交互,以完成对数据库用户的数据库创建、更新、检索和操作。这里我们讨论在 MySQL 中查找月份的第一天和最后一天的 SQL 查询。在我的 SQL 中,日期格式是YYYY-MM-DD

例子 -

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 calender;

输出 :



步骤 2:使用数据库 -
使用数据库日历如下。

USE calender;

输出 :

第 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;

输出 :