在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';