如何在mysql中将DATETIME转换为TIMESTAMP?

问题描述 投票:1回答:1

我在我的表中有DATETIME列,使用2015-04-23 11:17:49属性尝试将其转换为unix时间戳,根据我需要的mysql文档将字段放入UNIX_TIMESTAMP()函数中,我将得到 - > 1223423442 - 时间戳但它不是工作,我只有00:00:00尝试了很多东西:

// doesn't work
UNIX_TIMESTAMP(CAST(`updated` AS CHAR(100))) AS updated_at,
// doesn't work
UNIX_TIMESTAMP(`updated`) AS updated_at,
//doesn't work
UNIX_TIMESTAMP(STR_TO_DATE(CAST(`created` AS CHAR(100)), \'%M %e %Y %h:%i%p\'))
                                AS created_at'
// doesn't work
UNIX_TIMESTAMP(STR_TO_DATE(`created`, '%M %e %Y %h:%i%p'))
                                AS created_at

没有``不能正常工作,我错过了什么吗?

mysql datetime unix-timestamp
1个回答
1
投票

我不明白为什么你需要将DATETIME转换为TIMESTAMP。

您可以使用INT(11)字段来存储使用函数UNIX_TIMESTAMP(your_datetime_field)从DATETIME转换的UNIX TIMESTAMP。

请注意,根据文件:http://dev.mysql.com/doc/refman/5.5/en/datetime.html

DATETIME类型用于包含日期和时间部分的值。 MySQL以'YYYY-MM-DD HH:MM:SS'格式检索并显示DATETIME值。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。

TIMESTAMP数据类型用于包含日期和时间部分的值。 TIMESTAMP的范围为'1970-01-01 00:00:01'UTC到'2038-01-19 03:14:07'UTC。

© www.soinside.com 2019 - 2024. All rights reserved.