6

我有一个mysql查询,它有一个“时间戳”格式的列CreationDate。例子:

2013-03-27 18:32:45

我希望 sql 查询以这种方式格式化(12hr 格式,秒):

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
4

2 回答 2

8

您将要使用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 演示)。

如果你想保持秒,那么你将使用:

date_format(a.CreationDate, '%W %m/%d/%Y %r')
于 2013-03-28T19:37:09.987 回答
1

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

于 2013-03-28T19:38:18.003 回答