1

在Mysql现有表中格式化日期时间

首要问题:

在 mysql 表中,一些日期时间是 'Ymd H:01:00' 格式。

我想将它们格式化为 'Ymd H:00:00' 格式。

第二题:

在另一个表中,我想将现有日期时间格式化为最接近的 'Ymd H:05:00' 或 'Ymd H:10:00' 或 'Ymd H:15:00' 或 'Ymd H:20:00' ……

如何更改 mySql 表中的数据?

更新:

我发现第一个问题:

UPDATE `table` SET timeStamp = date_format(timeStamp,'%Y-%m-%d %H:00:00') 
4

2 回答 2

1

我不会对任何查询使用 date_format() 函数,因为您不想格式化日期值,而是想更改它们!

1) 使用 minute() 和 second() 函数确定时间戳的分钟和秒部分,并从值中减去 1 分钟:

UPDATE `table` SET timeStamp = timeStamp - INTERVAL 1 MINUTE
WHERE minute(timeStamp)=1 and second(timeStamp)=0

2)请参阅“如何将时间四舍五入到最近的 15 分钟段” SO 主题以获得答案。只需将 900 秒(15 分钟)替换为 5 小时内的秒数。

于 2016-04-11T10:57:27.110 回答
1

使用DATE_FORMAT函数更改格式。

SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y')

SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename

参考这个进一步的文档

于 2016-04-11T10:27:32.373 回答