📜  获取昨天和明天的 SQL 查询

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

获取昨天和明天的 SQL 查询

查询帮助用户与数据库交互,以使用不同的查询在数据库中创建、插入、删除、更新数据。

在本文中,让我们看看如何根据数据库中的给定日期获取昨天和明天。

例子 -

指定日期:2021-03-23
昨天:2021-03-22 星期一
明天:2021-03-24 星期三

创建数据库日历:



CREATE DATABASE calendar;

使用数据库日历

USE calendar;

创建表计划:

CREATE TABLE schedule
(dates date);

查看表的说明:

DESCRIBE schedule;

将行插入到计划中:



INSERT INTO schedule VALUES('2021-03-23');
INSERT INTO schedule VALUES('2020-08-04');
INSERT INTO schedule VALUES('2021-06-08');
INSERT INTO schedule VALUES('2030-04-04');
INSERT INTO schedule VALUES('2025-09-13');
  

查看表中的数据:

SELECT* FROM schedule;

查询获取当前日期的昨天和明天:

要获得当前日期的昨天和明天,我们可以使用 MySQL 中的 CURRDATE()函数并从中减去 1 得到昨天,然后加 1 得到明天。

SELECT CURDATE(),
    DATE_SUB(CURDATE(),INTERVAL 1 DAY) AS yesterday,
    DATE_ADD(CURDATE(),INTERVAL 1 DAY) AS tomorrow;

在这里,我们可以使用 AS 将默认列标题更改为其他名称。

示例 1:

查询以获取表中日期的昨天和明天:

SELECT dates,
     DATE_SUB(dates,INTERVAL 1 DAY) AS yesterday,
     DATE_ADD(dates,INTERVAL 1 DAY) AS tomorrow
     FROM schedule;

示例2:

查询以获取表中包含工作日的昨天和明天日期:

SELECT dates,
     DATE_SUB(dates,INTERVAL 1 DAY) AS yesterday,
     DATE_ADD(dates,INTERVAL 1 DAY) AS tomorrow,
     DAYNAME(dates) AS weekdayofdate,
     DAYNAME(DATE_SUB(dates,INTERVAL 1 DAY)) AS weekdayofYd,
     DAYNAME( DATE_ADD(dates,INTERVAL 1 DAY)) AS weekdayofTm
     FROM schedule;