MySQL中datetime和timestamp的区别
答案:3 悬赏:0 手机版
解决时间 2021-03-06 14:31
- 提问者网友:精神病院里
- 2021-03-06 02:49
MySQL中datetime和timestamp的区别
最佳答案
- 五星知识达人网友:渊鱼
- 2021-03-06 03:54
TIMESTAMP 支持从’1970-01-01 00:00:01′ 到 ’2038-01-19 03:14:07′ UTC. 这个时间可能对目前正在工作的人来说没什么问题,可以坚持到我们退休,但对一些年轻的读者,就会有 Bug2K+38 的问题。
DATETIME 从 ’1000-01-01 00:00:00′ 直到’9999-12-31 23:59:59′.
考虑到二者在范围上的不同,你当前的事件日志使用 TIMESTAMP 是没有任何问题的,不过如果是为了记录你祖父和孙子的生日,那还是要用 DATETIME.
另外我建议,如果是一些跟现在相关的时间,可以选择 TIMESTAMP. 例如记录的添加时间之类的,其他的话还是要选择 DATETIME.
存储方面的比较
TIMESTAMP 需要 4 字节的存储空间,而 DATETIME 则需要 8 字节
DATETIME 从 ’1000-01-01 00:00:00′ 直到’9999-12-31 23:59:59′.
考虑到二者在范围上的不同,你当前的事件日志使用 TIMESTAMP 是没有任何问题的,不过如果是为了记录你祖父和孙子的生日,那还是要用 DATETIME.
另外我建议,如果是一些跟现在相关的时间,可以选择 TIMESTAMP. 例如记录的添加时间之类的,其他的话还是要选择 DATETIME.
存储方面的比较
TIMESTAMP 需要 4 字节的存储空间,而 DATETIME 则需要 8 字节
全部回答
- 1楼网友:蓝房子
- 2021-03-06 04:38
DATETIME
日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。
TIMESTAMP[(M)]
时间戳。范围是'1970-01-01 00:00:00'到2037年。
TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。
TIMESTAMP值返回后显示为'YYYY-MM-DD HH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。
注释:MySQL 4.1以前使用的TIMESTAMP格式在MySQL 5.1中不支持;关于旧格式的信息参见MySQL 4.1 参考手册。
日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。
TIMESTAMP[(M)]
时间戳。范围是'1970-01-01 00:00:00'到2037年。
TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。
TIMESTAMP值返回后显示为'YYYY-MM-DD HH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。
注释:MySQL 4.1以前使用的TIMESTAMP格式在MySQL 5.1中不支持;关于旧格式的信息参见MySQL 4.1 参考手册。
- 2楼网友:胯下狙击手
- 2021-03-06 04:06
datetime 是我们常见的时间格式,如'1970-01-01 00:00:00'
timestamp是时间戳。时间戳一般是1970-01-01 00:00:00到现在的秒数,
一般是12位的整数。可以后面带小数点,精确度高到毫秒等。
timestamp是时间戳。时间戳一般是1970-01-01 00:00:00到现在的秒数,
一般是12位的整数。可以后面带小数点,精确度高到毫秒等。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯