我想将一个表示时间戳的int列转换为varchar列,该列表示yyyyMMddTHHmmssZ格式的日期。
我只想使用MySQL查询。
感谢您的帮助。
答案 0 :(得分:2)
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()函数的说明。