首页 > 解决方案 > MySQL:获取时间部分重置为午夜(00:00:00)的日期时间字段?

问题描述

我正在尝试PurchaseDate从表中查询 datetime 列tmp以及一个自定义列,该PurchaseDate列是时间为 00:00:00 / 午夜的列:

购买日期 一天的开始
1996-07-16 20:00:00 1996-07-16 00:00:00
1996-07-10 21:19:00 1996-07-10 00:00:00
1996-07-12 22:18:00 1996-07-12 00:00:00

我无法使用DATEDIFF(). 我怎样才能以最简单的方式做到这一点?

正如建议的那样,我尝试过使用date(). 但是,这会将列类型转换为日期,我想将其保留为日期时间。

标签: mysqlsqldatetime

解决方案


转换为date截断时间部分,然后转换为datetime

select
    PurchaseDate,
    cast(date(PurchaseDate) as datetime) as StartOfDay
from mytable

现场演示


推荐阅读