您的位置:首页技术文章
文章详情页

mysql函数unix_timestamp如何处理1970.1.1以前的数据?

【字号: 日期:2022-06-16 11:06:04浏览:61作者:猪猪

问题描述

问题解答

回答1:

那就没办法使用TIMESTAMP了可以考虑使用DATETIME类型

DATE范围’1000-01-01’ to ’9999-12-31’

DATETIME’1000-01-01 00:00:00’ to ’9999-12-31 23:59:59’

TIMESTAMP ’1970-01-01 00:00:01’ UTC to ’2038-01-19 03:14:07’ UTC

回答2:

-- N秒前SELECT TIMESTAMPADD(SECOND,-3600,’1970-01-01 00:00:01’)-- >> 1969-12-31 23:00:01-- 2天前SELECT TIMESTAMPADD(DAY,-2,’1970-01-01 00:00:01’)-- >> 1969-12-30 00:00:01# FRAC_SECOND。表示间隔是毫秒# SECOND。秒# MINUTE。分钟# HOUR。小时# DAY。天# WEEK。星期# MONTH。月# QUARTER。季度# YEAR。年

确认你存的负数是相对于 1970-01-01 00:00:01 的, 如此算并没问题

select TIMESTAMPADD(FRAC_SECOND, table.create_time, ’1970-01-01 00:00:01’) as `create_time` from table

相关文章: