84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
那就没办法使用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
-- 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' 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
确认你存的负数是相对于 1970-01-01 00:00:01 的, 如此算并没问题