我有一个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
答案 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')