MySQL 日期格式及日期函数
1. 介绍
MySQL是一种常用的关系型数据库管理系统,广泛应用于各种系统和应用程序中。日期是数据库中常用的数据类型之一,MySQL提供了一系列的日期函数和日期格式,用于处理和操作日期数据。
本文将详细介绍MySQL中日期的存储格式以及常用的日期函数,帮助读者正确地处理日期数据,并实现各种日期相关的功能。
2. 日期存储格式
在MySQL中,日期可以以多种格式存储,常用的有以下几种:
- DATE: 日期,格式为’YYYY-MM-DD’,例如’2022-01-01’;
- TIME: 时间,格式为’HH:MM:SS’,例如’12:30:00’;
- DATETIME: 日期时间,格式为’YYYY-MM-DD HH:MM:SS’,例如’2022-01-01 12:30:00’;
- TIMESTAMP: 时间戳,存储为自1970年1月1日以来的秒数。可以在创建表时设置默认值为CURRENT_TIMESTAMP,表示当前时间。
3. 日期函数
MySQL提供了丰富的日期函数,可以用于处理和操作日期数据。下面我们将介绍一些常用的日期函数及其用法。
3.1 DATE_FORMAT()
DATE_FORMAT()函数用于将日期按照指定格式进行格式化。它的语法如下:
DATE_FORMAT(date, format)
其中,date为要格式化的日期,format为指定的日期格式。下表列举了一些常用的日期格式及其对应的含义:
格式符 | 含义 |
---|---|
%Y | 四位年份 |
%y | 两位年份 |
%m | 月份 |
%d | 日期 |
%H | 小时(24小时制) |
%i | 分钟 |
%s | 秒 |
例如,我们可以使用DATE_FORMAT()函数将日期格式化为’YYYY年MM月DD日’的形式:
SELECT DATE_FORMAT('2022-01-01', '%Y年%m月%d日');
运行结果为:
2022年01月01日
3.2 CURDATE() 和 NOW()
CURDATE()函数用于获取当前日期,它的语法如下:
CURDATE()
NOW()函数用于获取当前日期时间,它的语法如下:
NOW()
例如,我们可以使用CURDATE()函数获取当前日期,并使用DATE_FORMAT()函数将其格式化为’YYYY-MM-DD’的形式:
SELECT DATE_FORMAT(CURDATE(), '%Y-%m-%d');
运行结果为:
2022-01-01
3.3 DATE_ADD() 和 DATE_SUB()
DATE_ADD()函数用于在给定日期上添加或减去一定的时间间隔。它的语法如下:
DATE_ADD(date, INTERVAL expr unit)
其中,date为要操作的日期,expr为要添加或减去的时间间隔,unit为时间单位。时间单位可以是YEAR(年)、MONTH(月)、DAY(天)、HOUR(小时)、MINUTE(分钟)、SECOND(秒)等。
例如,我们可以使用DATE_ADD()函数在当前日期上添加一个月:
SELECT DATE_ADD(CURDATE(), INTERVAL 1 MONTH);
运行结果为:
2022-02-01
DATE_SUB()函数与DATE_ADD()函数类似,用法相同,只是它是减去一定的时间间隔。
3.4 DATEDIFF()
DATEDIFF()函数用于计算两个日期之间的天数差。它的语法如下:
DATEDIFF(end_date, start_date)
其中,end_date为结束日期,start_date为开始日期。
例如,我们可以使用DATEDIFF()函数计算两个日期之间的天数差:
SELECT DATEDIFF('2022-01-05', '2022-01-01');
运行结果为:
4
3.5 DATE() 和 TIME()
DATE()函数用于从日期时间中提取日期部分。它的语法如下:
DATE(datetime)
TIME()函数用于从日期时间中提取时间部分。它的语法如下:
TIME(datetime)
例如,我们可以使用DATE()函数提取日期时间的日期部分:
SELECT DATE('2022-01-01 12:30:00');
运行结果为:
2022-01-01
3.6 DAY() 和 MONTH() 和 YEAR()
DAY()函数用于从日期中提取天数。它的语法如下:
DAY(date)
MONTH()函数用于从日期中提取月份。它的语法如下:
MONTH(date)
YEAR()函数用于从日期中提取年份。它的语法如下:
YEAR(date)
例如,我们可以使用YEAR()函数提取日期的年份:
SELECT YEAR('2022-01-01');
运行结果为:
2022
4. 总结
本文详细介绍了MySQL中日期的存储格式以及常用的日期函数。通过合理运用这些日期函数,我们可以对日期数据进行格式化、计算以及提取各种日期部分。这些功能在实际应用中非常常见,例如统计日期范围内的数据、计算日期之间的间隔等操作。