从MYSQL查询格式化时间戳

时间:2013-03-28 19:33:29

标签: mysql sql date

我有一个mysql查询,其中包含一个格式为“timestamp”的CreationDate列。例如:

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 个答案:

答案 0 :(得分: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')

答案 1 :(得分:1)

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