拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
那就沒辦法使用TIMESTAMP了可以考慮使用DATETIME型
DATE範圍'1000-01-01' 至 '9999-12-31'
DATETIME'1000-01-01 00:00:00' 至 '9999-12-31 23:59:59'
TIMESTAMP '1970-01-01 00:00:01' UTC 至 '2038-01-19 03:14:07' UTC
-- 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
那就沒辦法使用TIMESTAMP了
可以考慮使用DATETIME型
DATE範圍'1000-01-01' 至 '9999-12-31'
DATETIME'1000-01-01 00:00:00' 至 '9999-12-31 23:59:59'
TIMESTAMP '1970-01-01 00:00:01' UTC 至 '2038-01-19 03:14:07' UTC
確認你存的負數是相對於 1970-01-01 00:00:01 的, 如此算並沒問題