MySQL从timestamp int到yyyyMMddTHHmmssZ

时间:2015-01-20 10:18:25

标签: mysql

我想将一个表示时间戳的int列转换为varchar列,该列表示yyyyMMddTHHmmssZ格式的日期。

我只想使用MySQL查询。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

使用FROM_UNIXTIME()

  

FROM_UNIXTIME(unix_timestamp),FROM_UNIXTIME(unix_timestamp,format)

     

返回unix_timestamp参数的表示形式,作为值   'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS.uuuuuu格式,取决于   函数是在字符串还是数字上下文中使用。价值   以当前时区表示。 unix_timestamp是一个内部的   时间戳值,例如由UNIX_TIMESTAMP()函数生成的。

     

如果给出格式,则根据格式格式化结果   string,其使用方式与在条目中列出的方式相同   DATE_FORMAT()函数。

mysql> SELECT FROM_UNIXTIME(1196440219);
        -> '2007-11-30 10:30:19'
mysql> SELECT FROM_UNIXTIME(1196440219) + 0;
        -> 20071130103019.000000
mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),
    ->                      '%Y %D %M %h:%i:%s %x');
        -> '2007 30th November 10:30:59 2007'
  

注意:如果使用UNIX_TIMESTAMP()和FROM_UNIXTIME()进行转换   在TIMESTAMP值和Unix时间戳值之间,转换是   因为映射在两个方向上都不是一对一的。对于   有关详细信息,请参阅UNIX_TIMESTAMP()函数的说明。