mysql datetime 转 date
在MySQL数据库中,日期时间类型存储有datetime
和date
两种类型。datetime
类型存储日期和时间,格式为YYYY-MM-DD HH:MM:SS
,而date
类型只存储日期,格式为YYYY-MM-DD
。有时候我们需要将datetime
类型转换为date
类型,本文将详细介绍在MySQL中如何实现这个转换。
MySQL中的日期时间类型
在MySQL中,我们常用的日期时间类型有datetime
和date
两种。
datetime
类型表示日期和时间,格式为YYYY-MM-DD HH:MM:SS
,例如2019-12-31 23:59:59
。date
类型表示只有日期,格式为YYYY-MM-DD
,例如2019-12-31
。
在实际应用中,有时候我们想要从datetime
类型中提取出日期部分,并将其转换为date
类型。
MySQL中的日期转换函数
MySQL提供了一些日期转换函数,可以帮助我们实现datetime
到date
的转换。其中比较常用的函数有DATE()
和DATE_FORMAT()
。
DATE()
函数:该函数返回日期时间值的日期部分。如果传入的值为datetime
类型,则返回的结果也是date
类型。语法如下:
DATE(datetime_value)
DATE_FORMAT()
函数:该函数可以将日期时间格式化为指定的格式。我们可以通过这个函数来截取datetime
值中的日期部分,并返回为date
类型。语法如下:
DATE_FORMAT(datetime_value, format)
示例
假设我们有一个表test_table
,其中有一个字段datetime_column
存储了日期时间数据,我们想要将其转换为date
类型。
首先,创建表并插入一些数据:
CREATE TABLE test_table (
id INT PRIMARY KEY,
datetime_column DATETIME
);
INSERT INTO test_table (id, datetime_column) VALUES
(1, '2021-10-15 12:30:45'),
(2, '2021-10-16 08:45:30'),
(3, '2021-10-17 20:15:00');
接下来,我们可以使用DATE()
或DATE_FORMAT()
函数来实现转换:
使用DATE()
函数
SELECT id, DATE(datetime_column) AS date_column
FROM test_table;
运行以上SQL语句,会得到以下结果:
| id | date_column |
|----|-------------|
| 1 | 2021-10-15 |
| 2 | 2021-10-16 |
| 3 | 2021-10-17 |
从结果可以看出,datetime_column
字段被成功转换为了date
类型。
使用DATE_FORMAT()
函数
SELECT id, DATE_FORMAT(datetime_column, '%Y-%m-%d') AS date_column
FROM test_table;
运行以上SQL语句,会得到以下结果:
| id | date_column |
|----|-------------|
| 1 | 2021-10-15 |
| 2 | 2021-10-16 |
| 3 | 2021-10-17 |
同样地,datetime_column
字段也被成功转换为了date
类型。
总结
在MySQL中,我们可以使用DATE()
和DATE_FORMAT()
函数来将datetime
类型转换为date
类型。这些函数可以帮助我们实现日期部分的提取和格式化,方便我们在实际应用中对日期数据进行处理。