在MySQL中将DATETIME转换为DATE

在MySQL中将DATETIME转换为DATE

在MySQL中,DATETIME和DATE都是常见的日期/时间数据类型。 DATETIME存储日期和时间,格式为“YYYY-MM-DD HH:MM:SS”,而DATE仅存储日期,格式为“YYYY-MM-DD”。

不过,在某些情况下,您可能希望将DATETIME转换为DATE,以便只使用日期部分。幸运的是,MySQL提供了可以轻松转换DATETIME为DATE的方法。

阅读更多:MySQL 教程

使用DATE()函数将DATETIME转为DATE

最简单的方法是使用MySQL内置的DATE()函数。 它可以将DATETIME值转换为DATE值。 这是它的语法:

SELECT DATE(datetime_column) FROM table_name;

下面是一个示例。 对于下面这个表,它有一个名为“created_at”的DATETIME列:

+----+---------------------+-------+
| id | created_at          | name  |
+----+---------------------+-------+
| 1  | 2022-01-01 10:00:01 | Alice |
| 2  | 2022-02-15 15:30:21 | Bob   |
| 3  | 2022-03-28 02:10:55 | John  |
+----+---------------------+-------+

如果您只想要这个表的DATE列,可以使用以下查询:

SELECT DATE(created_at) FROM table_name;

这将返回一个这样的结果:

+--------------------+
| DATE(created_at)   |
+--------------------+
| 2022-01-01         |
| 2022-02-15         |
| 2022-03-28         |
+--------------------+

如您所见,您现在只能看到日期部分。

使用DATE_FORMAT()函数将DATETIME转为DATE

另一种将DATETIME转换为DATE的方法是使用MySQL的DATE_FORMAT()函数。 它可以将一个日期/时间值根据指定的格式转换为字符串。 这是它的语法:

SELECT DATE_FORMAT(datetime_column, '%Y-%m-%d') FROM table_name;

下面是一个示例。 对于下面这个表,它有一个名为“created_at”的DATETIME列:

+----+---------------------+-------+
| id | created_at          | name  |
+----+---------------------+-------+
| 1  | 2022-01-01 10:00:01 | Alice |
| 2  | 2022-02-15 15:30:21 | Bob   |
| 3  | 2022-03-28 02:10:55 | John  |
+----+---------------------+-------+

如果您想要这个表的DATE列,可以使用以下查询:

SELECT DATE_FORMAT(created_at, '%Y-%m-%d') FROM table_name;

这将返回一个这样的结果:

+----------------------------+
| DATE_FORMAT(created_at)   |
+----------------------------+
| 2022-01-01                 |
| 2022-02-15                 |
| 2022-03-28                 |
+----------------------------+

总结

在MySQL中,通过使用DATE()或DATE_FORMAT()函数,您可以轻松地将DATETIME转换为DATE。 希望这篇文章让您理解了这个过程,并提供了想要使用这种技术的人所需的工具。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程