使用 MySQL 日期数据类型时,在数据库上执行不同操作时了解日期格式至关重要。请注意,在数据库中创建新表时必须选择列的数据类型。

MySQL 中用于存储日期或日期/时间值的不同数据类型如下所述:

数据类型说明
Date一个日期。 格式:年-月-日。 支持的范围是从"1000-01-01"到"9999-12-31"。
DATETIME(fsp)日期和时间 组合。 格式:YYYY-MM-DD hh:mm:ss。 支持的范围是从"1000-01-01 00:00:00"到"9999-12-31 23:59:59"。 在列定义中添加 DEFAULT 和 ON UPDATE,以自动初始化并更新到当前日期和时间。
TIMESTAMP(fsp)时间戳。 TIMESTAMP 值存储为自 Unix 纪元 ('1970-01-01 00:00:00' UTC) 以来的秒数。 格式:YYYY-MM-DD hh:mm:ss。 支持的范围是从"1970-01-01 00:00:01"UTC 到"2038-01-09 03:14:07"UTC。 可以在列定义中使用 DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP 指定自动初始化和更新到当前日期和时间。
YEAR年份 四位数格式。 允许的四位数格式的值:1901 到 2155 和 0000。
MySQL 8.0 不支持两位数格式的年份。

示例:创建日期数据类型的表

下面提到的语句创建一个名为 Employee 的表,其中包含五列:EmpID 、Name、City、Age和Date_of_Joing。

CREATE TABLE Employee (
  EmpID INT NOT NULL,
  Name VARCHAR(255) NOT NULL,
  City VARCHAR(100),
  Age INT,
  Date_of_Joining DATE
); 

这将创建一个名为 Employee 的空表,其中包含五列。

示例:使用日期数据类型

考虑一个名为Employee 的数据库表具有以下记录 :

EmpIDNameCityAgeDate_of_Joining
1JohnLondon252019-05-25
2MarryNew York242018-10-15
3JoParis272017-06-09
4KimAmsterdam302014-04-21
5RameshNew Delhi282019-05-25
6HuangBeijing282020-01-10

获取 Employee 表中于 '2019-05-25' 加入组织的所有员工的数据,查询为:

SELECT * FROM Employee
WHERE Date_of_Joining = '2019-05-25'; 

这将产生如下所示的结果:

EmpIDNameCityAgeDate_of_Joining
1JohnLondon252019-05-25
5RameshNew Delhi282019-05-25

完整的 MySQL 日期和时间参考

For所有 MySQL 日期和时间函数的完整参考,请参阅 MySQL 数据和时间参考