首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >datetime与timestamp的区别

datetime与timestamp的区别

作者头像
用户4128047
发布2025-12-23 15:56:40
发布2025-12-23 15:56:40
1690
举报

datetime默认值为null,而timestamp的默认值不为null,为系统当前时间(current_timestatmp)。如果不做特殊处理,且update没有指定该列更新,则默认更新为当前时间。 datetime占用8个字节,timestamp占用4个字节。timestamp利用率更高。 二者存储方式不一样,对于timestamp,它把客户端插入的时间从当前时区转化为世界标准时间(UTC)进行存储,查询时,逆向返回。但对于datetime,基本上存什么是什么。 二者范围不一样。timestamp范围:‘1970-01-01 00:00:01.000000’ 到 ‘2038-01-19 03:14:07.999999’; datetime范围:’1000-01-01 00:00:00.000000’ 到 ‘9999-12-31 23:59:59.999999’。原因是,timestamp占用4字节,能表示最大的时间毫秒为2的31次方减1,也就是2147483647,换成时间刚好是2038-01-19 03:14:07.999999。 常用的时间函数

在这里插入图片描述
在这里插入图片描述

Mysql的三种时区设置 系统时区:保存在系统变量system_time_zone 服务器时区:保存在全局系统变量global.time_zone 每个客户端连接的时区:保存在会话变量session.time_zone 选取日期时间的各个部分:日期、时间、年、季度、月、日、小时、分钟、秒、微秒(常用) SELECT now(),date(now()); – 日期 SELECT now(),time(now()); – 时间 SELECT now(),year(now()); – 年 SELECT now(),quarter(now()); – 季度 SELECT now(),month(now()); – 月 SELECT now(),week(now()); – 周 SELECT now(),day(now()); – 日 SELECT now(),hour(now()); – 小时 SELECT now(),minute(now()); – 分钟 SELECT now(),second(now()); – 秒 SELECT now(),microsecond(now()); – 微秒 EXTRACT(unit FROM date):从日期中抽取出某个单独的部分或组合 SELECT now(),extract(YEAR FROM now()); – 年 SELECT now(),extract(QUARTER FROM now()); – 季度 SELECT now(),extract(MONTH FROM now()); – 月 SELECT now(),extract(WEEK FROM now()); – 周 SELECT now(),extract(DAY FROM now()); – 日 SELECT now(),extract(HOUR FROM now()); – 小时 SELECT now(),extract(MINUTE FROM now()); – 分钟 SELECT now(),extract(SECOND FROM now()); – 秒 SELECT now(),extract(YEAR_MONTH FROM now()); – 年月 SELECT now(),extract(HOUR_MINUTE FROM now()); – 时分

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档