1. 日期格式
在Mysql中,日期和时间的列可以采用不同的格式进行存储和显示。常用的日期格式包括:
DATE: 日期格式,仅包含年、月、日,例如:'2021-01-01'
DATETIME: 日期和时间格式,包含年、月、日、时、分、秒,例如:'2021-01-01 12:00:00'
TIMESTAMP: 时间戳格式,包含从1970年1月1日到当前时间的秒数
TIME: 时间格式,仅包含时、分、秒,例如:'12:00:00'
YEAR: 年份格式,仅包含年份信息,例如:'2021'
在Mysql中,可以使用日期和时间函数将不同格式的日期转换成不同的格式,例如:DATE_FORMAT() 函数可以将日期转换成指定格式的字符串。
2. 内置日期函数
2.1 CURDATE() 函数
CURDATE() 函数返回当前日期,格式为'YYYY-MM-DD'。
SELECT CURDATE();
该查询会返回当前日期,例如:'2021-01-01'。
2.2 NOW() 函数
NOW() 函数返回当前日期和时间,格式为'YYYY-MM-DD HH:MM:SS'。
SELECT NOW();
该查询会返回当前日期和时间,例如:'2021-01-01 12:00:00'。
2.3 DATE_FORMAT() 函数
DATE_FORMAT() 函数用于将日期按照指定的格式进行格式化。
SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日 %H:%i:%s');
该查询会返回当前日期和时间,格式为'YYYY年MM月DD日 HH:MM:SS',例如:'2021年01月01日 12:00:00'。
2.4 DATE_ADD() 函数
DATE_ADD() 函数用于在给定日期上添加指定的时间间隔。
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);
该查询会返回当前日期加上1天后的日期和时间。
2.5 DATE_SUB() 函数
DATE_SUB() 函数用于在给定日期上减去指定的时间间隔。
SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH);
该查询会返回当前日期减去1个月后的日期和时间。
3. 示例应用
假设有一个名为orders的表,其中有一个名为order_date的列,存储了订单的日期。我们希望查询最近一个月内的订单。
SELECT * FROM orders
WHERE order_date > DATE_SUB(NOW(), INTERVAL 1 MONTH);
该查询会返回最近一个月内的订单数据。
3.1 EXTRACT() 函数
EXTRACT() 函数用于从日期中提取指定的部分,例如年、月、日。
SELECT EXTRACT(YEAR FROM order_date),
EXTRACT(MONTH FROM order_date),
EXTRACT(DAY FROM order_date)
FROM orders;
该查询会返回订单日期的年、月、日。
通过这些日期格式和内置日期函数,我们可以在Mysql中方便地进行日期和时间的计算和处理。