Mysql SELECT查询的日期格式

时间:2012-05-29 05:11:05

标签: mysql date time

我的疑问是......

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

它返回我的日期......

如何将结果显示为March 2, 201205/04/2012或有意义的内容?

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

还有其他想法吗?

enter image description here

6 个答案:

答案 0 :(得分: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一起使用的格式,以您想要的任何方式格式化日期。

答案 1 :(得分: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`

后退滴答的Lac导致查询返回当前时间而不是时间列的值

答案 2 :(得分:2)

SELECT DATE_FORMAT(FROM_UNIXTIME(a.`time`), '%M %e, %Y') AS `time`...

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

答案 3 :(得分:0)

您似乎需要使用FROM_UNIXTIME功能。来自文档:

  

返回unix_timestamp参数的表示形式,作为值   'YYYY-MM-DD HH:MM:SS'YYYYMMDDHHMMSS.uuuuuu格式,具体取决于   函数是在字符串还是数字上下文中使用。

答案 4 :(得分:0)

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

答案 5 :(得分: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