在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。 希望这篇文章让您理解了这个过程,并提供了想要使用这种技术的人所需的工具。