当前位置:网站首页>MySQL 日期时间类型精确到毫秒
MySQL 日期时间类型精确到毫秒
2022-08-03 05:29:00 【m0_55070913】
MySQL 常用的日期时间类型常用的是datetime、timestamp。其中datetime占用5个字节(有些文档中说占用8个字节是不对的,默认也不会保存毫秒)。
DATETIME和TIMESTAMP两种数据类型,至于怎么选择需要看业务需求,其中DATETIME占用字节较多,但表示范围较大。TIMESTAMP不能用于分区列,因为这种数据类型受时区限制,会受数据库时区的影响。
创建表时使用sql,因为有需求保存时间需要精确到毫秒值,官网给出解释:MySQL has fractional seconds support forTIME,DATETIME, andTIMESTAMPvalues, with up to microseconds (6 digits) precision: 意思是三种类型都支持小数秒,就是我们平常说的毫秒。因为timestamp占用字节较少,所以选用TIMESTAMP数据类型。
CREATE TABLE `s_schedule_log` (
`log_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'log主健',
`job_id` int(11) DEFAULT NULL COMMENT '任务id',
`job_name` varchar(100) DEFAULT NULL COMMENT '任务名称',
`execute_result` varchar(10) DEFAULT NULL COMMENT '执行结果。字典EXECUTE_RESULT',
`result_info` varchar(255) DEFAULT NULL COMMENT '执行结果信息',
`start_time` TIMESTAMP NULL DEFAULT NULL COMMENT '开始时间',
`end_time` TIMESTAMP NULL DEFAULT NULL COMMENT '结束时间',
`error_msg` varchar(255) DEFAULT NULL COMMENT '执行失败时的错误信息',
PRIMARY KEY (`log_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='定时任务执行日志'
实际运行时发现并未保存毫秒值,运行截图以及数据截图如下


从图中可以看出代码插入更新时都已经携带毫秒部分,当时数据库中并未保存,查询官网发文:To define a column that includes a fractional seconds part, use the syntax_`type_name`_(_`fsp`_), where_type_nameisTIME,DATETIME, orTIMESTAMP, andfsp_is the fractional seconds precision. For example:
CREATE TABLE t1 (t TIME(3), dt DATETIME(6));
The_fsp_value, if given, must be in the range 0 to 6. A value of 0 signifies that there is no fractional part. If omitted, the default precision is 0. (This differs from the standard SQL default of 6, for compatibility with previous MySQL versions.)
意思就是,毫秒部分需要以参数形式传参给数据类型,默认是不保存毫秒的,可以保存1-6位。如果需要保存三位的毫秒值,数据类型可以定义为DATETIME(3)或TIMESTAMP(3),不需要保存毫秒的话,只需要将类型直接写为DATETIME TIMESTAMP。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 一文读懂PCB品质体系认证
- MySql的安装配置超详细教程与简单的建库建表方法
- Content type ‘applicationx-www-form-urlencoded;charset=UTF-8‘ not supported“【已解决】
- Command errored out with exit status 1类似问题解决方案
- ES6中 async 函数、await表达式 的基本用法
- Redis的应用详解
- 【Personal summary】Key points of MES system development/management
- 【随笔】平常心
- Shell脚本--信号发送与捕捉
- MySQL的安装(详细教程)
猜你喜欢

【DIoU CIoU】DIoU和CIoU损失函数理解及代码实现

MySQL的触发器

【云原生 · Kubernetes】Kubernetes基础环境搭建

一根网线完美解决IPTV+千兆网复用,还不来试试

VS项目配置管理器

SVN客户端安装及操作文档

【dllogger bug】AttributeError: module ‘dllogger‘ has no attribute ‘StdOutBackend‘

SQLServer2019安装(Windows)

PostMan测试接口-----上传文件、导出excel

C # program with administrator rights to open by default
随机推荐
SQL——左连接(Left join)、右连接(Right join)、内连接(Inner join)
嘿!selenium自动下载driver版本,得知道一下
MySQL的安装(详细教程)
【FCOS】FCOS理论知识讲解
2021-06-20
SSL证书验证怎么做?有几种方式?
SSL证书过期后怎么办?
单节点部署 gpmall 商城系统(一)
MySQL的主从复制
BOA服务器移植之嵌入式开发板(FS4412)
【onnx 输入尺寸】修改pytorch生成的onnx模型的输入尺寸
PCB 多层板为什么都是偶数层?
mysql事务与多版本并发控制
mysql的配置文件(my.ini或者 my.cnf)所在位置
【测试基础】bug分级、测试流程、ISO9126质量模型
502 bad gateway原因、解决方法
2021-06-15
process.env环境变量配置方式(配置环境变量区分开发环境和生产环境)
Shell脚本--信号发送与捕捉
超全!9种PCB表面处理工艺大对比