2016-04-11 136 views
1

格式的日期時間在MySQL現有表如何更改日期時間格式在MySQL表

第一個問題:

在mysql表

,某些日期時間都在 'YMD H:01:00' 格式。

我想格式化它們'Y-m-d H:00:00'格式。

第二期:

在另一張表,我想格式化現有的datetime到最近的 'YMD H:05:00' 或 'YMD H:10:00' 或「年月日^ h :15:00'或'Ymd H:20:00'...

我該如何更改mySql表中的數據?

更新:

我找到了第一個問題:

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

1)你想格式化日期(當你查詢它們時改變它們的外觀)還是實際改變基礎字段值? 2)「Y-m-d H:01:00」格式究竟是什麼? 3)你到目前爲止嘗試過什麼? – Shadow

+0

1)我需要更改現有表中的值。 2)'Y-m-d H:01:00'是表中現有的日期時間,用'Y-m-d H:00:00' – llaid

回答

1

我不會使用DATE_FORMAT()函數對於任何查詢,因爲你不希望格式化的日期值,你想改變他們!

1)使用分()和第二()函數以確定所述時間戳的微小部分和第二部分,並從值扣除1分鐘:

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

2)查看"How to round a time to the nearest 15 minute segment" SO主題的回答。用5小時內的秒數替換900秒(15分鐘)。

1

使用DATE_FORMAT功能更改格式。

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

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

指這進一步DOC