2

我的查询是这个...

SELECT a.ID, a.time, a.quote, a.quantity, a.media, a.print, a.pack 
FROM quotes a

它像这样返回我的日期......

我如何使结果返回为March 2, 201205/04/2012或有意义的东西?

更新 - 下面的 FROM_UNIXTIME 答案列出了我运行查询时有时间的所有记录 - 我需要最初创建记录的时间 - 而不是查询时间。

还有其他想法吗?

在此处输入图像描述

4

6 回答 6

4

您可以使用FROM_UNIXTIME执行此操作:

SELECT a.ID, FROM_UNIXTIME(a.time, '%M %e, %Y'), 
       a.quote, a.quantity, a.media, a.print, a.pack 
FROM quotes a

您可以使用指定与DATE_FORMAT一起使用的格式以任何方式格式化日期。

于 2012-05-29T05:18:52.537 回答
2

尝试使用这个函数:FROM_UNIXTIME

在您的情况下,它将是这样的(对于第一个示例):

SELECT a.ID, FROM_UNIXTIME(a.`time`, '%M %e, %Y'), 
    a.quote, a.quantity, a.media, a.print, a.pack 
FROM quotes a

此外,您可能想要做的是给结果一个别名:

SELECT a.ID, FROM_UNIXTIME(a.`time`, '%M %e, %Y') as formatted_time, 
    a.quote, a.quantity, a.media, a.print, a.pack 
FROM quotes a

然后你将访问格式化的结果,而formatted_time不是time......

注意:请注意时间列名称在反引号中

 a.`time`

反引号导致查询返回当前时间而不是时间列的值

于 2012-05-29T05:14:39.373 回答
2
SELECT DATE_FORMAT(FROM_UNIXTIME(a.`time`), '%M %e, %Y') AS `time`...

有关 DATE_FORMAT 可能性的完整列表,请参阅MySQL 手册

于 2012-05-29T05:19:07.080 回答
0

看来您需要使用该FROM_UNIXTIME功能。从文档中:

根据函数是在字符串还是数字上下文中使用,将 unix_timestamp 参数的表示形式返回为值 'YYYY-MM-DD HH:MM:SS'或格式。YYYYMMDDHHMMSS.uuuuuu

于 2012-05-29T05:17:15.850 回答
0

您可以像这样使用 DATE_FORMAT 函数,

    SELECT a.ID, DATE_FORMAT(a.time, '%M %D %Y'), a.quote, a.quantity, a.media,a.print,a.pack 
    FROM quotes a
于 2012-05-29T05:41:57.790 回答
0
SELECT a.ID, FROM_UNIXTIME(a.time), a.quote, a.quantity, a.media, a.print, a.pack 
FROM quotes a
于 2012-05-29T05:18:21.190 回答