📜  MySQL – 日期操作查询

📅  最后修改于: 2021-09-09 11:49:42             🧑  作者: Mango

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

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

创建数据库:

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

CREATE DATABASE orders;

使用数据库:

使用数据库 student 使用以下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.Query 格式 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';