2017-10-04 54 views
1

我想從表mysql中選擇數據,但我需要格式化爲軍事格式的varchar日期列,但無法獲得我的願望輸出我的查詢是在下面。Mysql按日期格式選擇爲24小時

"SELECT STR_TO_DATE(`hour`, '%Y-%m-%d %k:%i') AS `time` FROM `dataTable`" 

當我試圖回顯格式下面的時間出現。

2017-09-21 00:00:00 

我的願望輸出是低於它在24小時格式和刪除秒,任何建議將是偉大的。

2017-09-21 18:00 
+1

什麼日期存儲在數據庫中? –

+0

什麼是*軍事格式*? – Jens

+1

STR_TO_DATE _從特定格式創建日期;如果您想在輸出之前格式化現有日期值,則需要對應DATE_FORMAT。而'%k'是沒有前導零的小時,所以你可能更希望'%H' – CBroe

回答

4

使用mysql的Date_format函數。

"SELECT DATE_FORMAT(`hour`, '%Y-%m-%d %H:%i') AS `time` FROM `dataTable`" 

說明:


STR_TO_DATE功能總是在2008-09-15 22點23分00秒

SELECT STR_TO_DATE('Monday 15th September 2008 22:23:00', '%W %D %M %Y %H:%i:%s'); 
+----------------------------------------------------------------------------+ 
| STR_TO_DATE('Monday 15th September 2008 22:23:00', '%W %D %M %Y %H:%i:%s') | 
+----------------------------------------------------------------------------+ 
| 2008-09-15 22:23:00              | 
+----------------------------------------------------------------------------+ 
1 row in set (0.00 sec) 

的格式返回日期檢查上面的例子:STR_TO_DATE函數中的第二個參數是參數1到te的格式函數中傳遞參數1格式的函數。

Reference taken from this link.

+0

謝謝先生,謝謝工作大! – KaoriYui

+0

@KaoriYui我很樂意幫助你。 :) –

相關問題