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类型。这些函数可以帮助我们实现日期部分的提取和格式化,方便我们在实际应用中对日期数据进行处理。
极客笔记