mysql - 来自 MYSQL 查询的格式时间戳

标签 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

最佳答案

您将要使用 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')

关于mysql - 来自 MYSQL 查询的格式时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15690575/

相关文章:

java - 通过匹配字符串中的日期格式使用 Java 提取日期

date - 如何在 <time> 标记 'the present' 中进行语义定义

javascript - 如何让这个 JavaScript 倒计时使用 UTC 时间?

php - 关于从 MySQL 中获取 PHP 数据表的建议

mysql - 用户验证值-存储在哪里

mysql - 从触发器中获取良好的成功通知消息

PHP 和 MySQL 数据库同时搜索多个表

mysql - 从 t1 复制到新表 t2 过滤掉重复的行

mysql - 什么是 SFW 查询?

php - 捕获选中的复选框并将它们转换为 php 中的变量