2013-03-28 544 views
4

我有一個mysql查詢,它具有格式爲「timestamp」的列CreationDate。例如:從MYSQL查詢格式化時間戳

2013-03-27 18:32:45 

我想爲SQL查詢以它以這種方式(12小時格式秒)格式:

Friday 3/28/2013 12:52:34 PM 

我想在SQL級別來處理這種而非PHP或.js文件等

查詢:

SELECT a.ID, a.CreationDate, a.Content, a.Type, u.Nickname 
FROM Announcements a 
INNER JOIN Accounts u ON a.FromAccountID = u.AccountID 
WHERE a.Status = '1' AND u.Status = '1' 
ORDER BY a.ID DESC 
+2

MySQL的['DATE_FORMAT()'](http://dev.mysql.com/doc/refman/ 5.1/en/date-and-time-functions.html#function_date-format) –

回答

6

你將要使用DATE_FORMAT

SELECT a.ID, 
    date_format(a.CreationDate, '%W %m/%d/%Y %l:%i %p') CreationDate, 
    a.Content, 
    a.Type, 
    u.Nickname 
FROM Announcements a 
INNER JOIN Accounts u 
    ON a.FromAccountID = u.AccountID 
WHERE a.Status = '1' 
    AND u.Status = '1' 
ORDER BY a.ID DESC 

MySQL的文檔會顯示什麼說明符,你會用它來得到你想要的格式(見SQL Demo)。

如果你想保持秒,那麼你將使用:

date_format(a.CreationDate, '%W %m/%d/%Y %r') 
+0

有沒有辦法在這個星期五保持秒數3/28/2013 12:52:02 PM – user1157800

+0

@ user1157800看到我的編輯,你會使用''%W%m /%d /%Y%r%p''作爲格式 – Taryn

+0

我很抱歉,我怎樣才能保持AM/PM的12小時格式呢? – user1157800

1

DATE_FORMAT(a.CreationDate,'%W %c/%e/%Y %h:%i %p')