MySQL格式化时间去掉时分秒

在MySQL数据库中,时间数据类型包含日期和时间信息。有时候我们需要在查询结果中去掉时间的部分,只保留日期信息。本文将介绍如何使用MySQL的函数来格式化时间并去掉时分秒。

1. DATE()函数

DATE()函数是MySQL提供的一个用于获取日期部分的函数。它接受一个日期或日期时间值作为参数,并返回日期部分。

下面是使用DATE()函数格式化时间的示例代码:

SELECT DATE(datetime_column) AS formatted_date
FROM table_name;

这个示例查询从table_name表中选择datetime_column列,并使用DATE()函数将时间格式化为日期。结果将以formatted_date的别名返回。

2. DATE_FORMAT()函数

DATE_FORMAT()函数是MySQL提供的另一个用于格式化时间的函数。它接受两个参数:日期或日期时间值以及一个指定格式的字符串。

下面是使用DATE_FORMAT()函数格式化时间并去掉时分秒的示例代码:

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

这个示例查询从table_name表中选择datetime_column列,并使用DATE_FORMAT()函数将时间格式化为YYYY-MM-DD格式的日期。结果将以formatted_date的别名返回。

3. 示例

假设我们有一个名为orders的表,其中有一个名为order_date的列存储订单创建的日期和时间。我们希望查询订单的日期,而不需要时间部分。

下面是创建表格并插入一些示例数据的代码:

CREATE TABLE orders (
    id INT PRIMARY KEY AUTO_INCREMENT,
    order_date DATETIME
);

INSERT INTO orders (order_date) VALUES
    ('2022-01-01 10:30:00'),
    ('2022-01-02 15:45:00'),
    ('2022-01-03 09:00:00'),
    ('2022-01-04 18:20:00');

现在,我们可以使用上述介绍的函数来查询订单的日期,例如:

SELECT DATE(order_date) AS formatted_date
FROM orders;

这个查询将返回以下结果:

formatted_date
2022-01-01
2022-01-02
2022-01-03
2022-01-04

如果我们希望将日期格式化为YYYY年MM月DD日的形式,可以使用DATE_FORMAT()函数:

SELECT DATE_FORMAT(order_date, '%Y年%m月%d日') AS formatted_date
FROM orders;

这个查询将返回以下结果:

formatted_date
2022年01月01日
2022年01月02日
2022年01月03日
2022年01月04日

4. 总结

通过使用MySQL的DATE()函数和DATE_FORMAT()函数,我们可以轻松地格式化时间并去掉时分秒。这在需要仅获取日期部分的查询中非常有用。在实际应用中,请根据您的需求选择合适的函数和日期格式。

希望本文对您理解如何在MySQL中格式化时间并去掉时分秒有所帮助。如果您有任何疑问或建议,请随时提出。感谢阅读!