📅  最后修改于: 2023-12-03 14:44:31.574000             🧑  作者: Mango
在 MySQL 中,日期是一种常见的数据类型,可以用来存储和操作日期和时间数据。MySQL 提供了多种日期函数和格式化选项,使得我们可以对日期进行各种操作和处理。
MySQL 中常用的日期类型包括 DATE、TIME、DATETIME 和 TIMESTAMP。其中,DATE 类型用来存储日期,格式为 'YYYY-MM-DD',例如 '2022-01-01';TIME 类型用来存储时间,格式为 'hh:mm:ss',例如 '12:30:45';DATETIME 类型则可以同时存储日期和时间,格式为 'YYYY-MM-DD hh:mm:ss',例如 '2022-01-01 12:30:45';TIMESTAMP 类型也可以同时存储日期和时间,但其范围更小,仅支持 '1970-01-01 00:00:01' 到 '2038-01-19 03:14:07'。
在 MySQL 中,可以使用以下语句来创建包含日期类型的表:
CREATE TABLE `table_name` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date_col` date DEFAULT NULL,
`time_col` time DEFAULT NULL,
`datetime_col` datetime DEFAULT NULL,
`timestamp_col` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
以上语句创建了一个名为 table_name
的表,包括 5 个字段,分别为 id
、date_col
、time_col
、datetime_col
和 timestamp_col
。其中,date_col
、time_col
、datetime_col
和 timestamp_col
分别为 DATE、TIME、DATETIME 和 TIMESTAMP 类型。
MySQL 提供了许多內建函数来处理日期。下面是一些常用函数的简介:
NOW()
函数:返回当前日期和时间。例如:
SELECT NOW(); -- 返回当前日期和时间
CURDATE()
函数:返回当前日期。例如:
SELECT CURDATE(); -- 返回当前日期
CURTIME()
函数:返回当前时间。例如:
SELECT CURTIME(); -- 返回当前时间
DATE()
函数:提取日期部分。例如:
SELECT DATE('2022-01-01 12:30:45'); -- 返回 '2022-01-01'
TIME()
函数:提取时间部分。例如:
SELECT TIME('2022-01-01 12:30:45'); -- 返回 '12:30:45'
DATE_FORMAT()
函数:将日期格式化。例如:
SELECT DATE_FORMAT('2022-01-01 12:30:45', '%Y年%m月%d日 %H:%i:%s'); -- 返回 '2022年01月01日 12:30:45'
更多函数的详细信息可以在 MySQL 官方文档中找到。
在 MySQL 中,我们可以使用比较运算符来比较日期。下面是一些常用的比较运算符的简介:
=
:等于,例如:'2022-01-01' = '2022-01-01'
返回 true。<>
或 !=
:不等于,例如:'2022-01-01' <> '2022-01-02'
返回 true。<
:小于,例如:'2022-01-01' < '2022-01-02'
返回 true。>
:大于,例如:'2022-01-01' > '2021-12-31'
返回 true。<=
:小于等于,例如:'2022-01-01' <= '2022-02-01'
返回 true。>=
:大于等于,例如:'2022-01-01' >= '2021-01-01'
返回 true。MySQL 中也提供了多种日期计算函数,可以方便地进行日期加减等操作。下面是一些常用的计算函数的简介:
DATE_ADD()
函数:日期加法。例如:
SELECT DATE_ADD('2022-01-01', INTERVAL 1 DAY); -- 返回 '2022-01-02'
DATE_SUB()
函数:日期减法。例如:
SELECT DATE_SUB('2022-01-01', INTERVAL 1 DAY); -- 返回 '2021-12-31'
DATEDIFF()
函数:日期差计算。例如:
SELECT DATEDIFF('2022-01-01', '2021-12-31'); -- 返回 1
DATE_FORMAT()
函数:将日期格式化。例如:
SELECT DATE_FORMAT('2022-01-01', '%Y-%m-%d %H:%i:%s'); -- 返回 '2022-01-01 00:00:00'
MySQL 中的日期类型是一种常用的数据类型,我们可以使用日期函数和计算函数来进行各种日期操作。熟练掌握这些函数的用法,可以让我们更加高效地进行日期处理。