📜  MySQL –日期操作查询

📅  最后修改于: 2021-08-29 11:07:25             🧑  作者: Mango

MySQL中,日期是一种数据类型,默认情况下遵循格式‘YYYY-MM-DD’,但是通过使用日期格式化功能,我们可以格式化日期并可以在表中获取所需的日期格式,甚至可以通过使用日期功能。

在本文中,让我们逐步详细地执行一些有关日期格式的查询:

创建一个数据库:

通过使用以下SQL查询来创建数据库学生,如下所示。

CREATE DATABASE orders;

使用数据库:

使用数据库学生使用以下SQL查询,如下所示。

USE orders;

创建一个表:

表–使用以下SQL查询创建具有3列的表order_details

CREATE TABLE order_details(
order_id varchar(8),
customer_name varchar(20),
order_date DATE);

验证数据库:

使用以下SQL查询来查看数据库中表的描述,如下所示。

DESCRIBE order_details;

将数据插入表中:

使用以下SQL查询将行插入order_details表中,如下所示。

INSERT INTO order_details VALUES
     ('O0001','PRADEEP','2021-04-11'),
     ('O0002','KOUSHIK','2021-04-09'),
     ('O0003','SRINIVAS','2021-04-05'),
     ('O0004','SATWIK','2021-04-08'),
     ('O0005','LOKESH','2021-04-03');

验证插入的数据:

通过使用以下SQL查询,在插入行之后查看表order_details

SELECT* FROM order_details;

查询:

1.查询将order_date的格式设置为“ DD-MM-YY”。

可以使用DATE_FORMAT()函数从默认日期开始设置默认日期的格式:

SYNTAX:
DATE_FORMAT(date,new_format);

在此查询中,我们使用%d来获取日期,然后使用%b来获取缩写的月份,并使用%y来获取年份。

SELECT *,DATE_FORMAT(order_date,'%d-%b-%y') AS formatted_date
 FROM order_details;

2.查询以获取从订购日期算起的15天后的预计交货日期。

可以使用DATE_ADD()函数添加所需的天数:

SYNTAX:
DATE_ADD(date, INTERVAL no_of_days DAY);
SELECT *,DATE_ADD(order_date,INTERVAL 15 DAY)
 AS estimated_delivery
 FROM order_details;

3.查询以获取估计的交货日期。

这可以通过同时使用DATE_FORMAT()DATE_ADD()函数来完成。

SELECT *,DATE_FORMAT(DATE_ADD(order_date,INTERVAL 15 DAY),'%W')
 AS delivery_day
 FROM order_details;

这里%W将日期格式化为工作日。

4.查询以获得在2021-04-23之前下达订单的人员的order_id和客户名称。

这里DATE_ADD()函数用于获得估计的交付并检查它是否小于2021-04-23。

SELECT order_id,customer_name
   FROM order_details
   WHERE DATE_ADD(order_date,INTERVAL 15 DAY)<'2021-04-23';