在 MySQL 中,日期时间类型包括 DATE
、TIME
、DATETIME
、TIMESTAMP
等。其中,DATETIME
和 TIMESTAMP
类型可以表示具体的日期和时间,包含年、月、日、时、分、秒等信息。当使用 DATETIME
或 TIMESTAMP
存储日期时间值时,如果精度达到了秒级别以上,MySQL 会进行四舍五入,将精度保留到秒级别。
对于 2023-04-09 23:59:59.999
这个日期时间值,在 MySQL 中会被认为是 2023-04-10 00:00:00
,因为 MySQL 会将毫秒四舍五入到秒级别,而 23:59:59.999
四舍五入后就变成了 00:00:00
。
因此,如果需要精确到毫秒级别,可以使用 DATETIME(3)
或 TIMESTAMP(3)
类型,其中括号中的数字表示精确到小数点后几位。例如,DATETIME(3)
表示精确到毫秒级别。