CREATE TABLE `user` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`name` varchar(64) DEFAULT NULL,
`age` int(4) DEFAULT NULL,
`user_name` varchar(64) DEFAULT NULL COMMENT '用户名称',
`role_id` int(11) DEFAULT NULL COMMENT '用户角色',
`create_date` datetime(3) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql解决datetime与timestamp精确到毫秒的问题
用公司的大数据平台导数,已经开发上线一个多月的一批报表,突然有同事说有个报表数据不准。出在
时间
字段
上。
1、先看了原数据
MySQL
字段
类型为
datetime
,目标
字段
为string类型;
2、经发现所有
时间
的差距都是8小时,怀疑是因为时区转换的原因;
3、对比其他表,看看是大范围现象还是特殊情况,发现其他的同样情况
字段
的一样没有问题
二、解决办法
经过对比:sqoop在转换
MySQL
的datatime
字段
类型为hive的string时会出现问题:默认先转为对应
时间
戳,再转换为北京市区
时间
,就会使
时间
多8小时。
解决办法有两个:
1、在sql里将
时间
字段
转换为
MySQL
较新的版本中(
MySQL
6.0.5),也还没有产生微秒的函数,now() 只能
精确
到秒。
MySQL
中也没有存储带有
毫秒
、微秒的
日期
时间
类型。
但,奇怪的是
MySQL
已经有抽取(extract)微秒的函数。例如:
mysql
里面的
datetime
类型的
精确
度是可以到1/ 10 ^ 6 秒的(即百万分之一秒,即微妙),
某些客户端(如navicat for
mysql
)的显示经常只能看到
精确
到秒,其实是设计表的时候的配置问题,可通过
datetime
列的长度进行设置,如下图:
在”设计表”中,
长度: 最小为0,最大为6,就是显示
时间
的时候的秒后面的小数点后的位数。
小数点: 只能为0,就算填上别的数值,保存时候也会被改为0,可见只能为0。
oracle获得当前
时间
的,
精确
到
毫秒
可以指定
精确
豪秒的位数
select to_char(systimestamp, 'yyyymmdd hh24:mi:ss.ff ') from dual;--20120516 11:56:40.729083
select to_char(systimestamp, 'yyyymmdd hh24:mi:ss.ff3 ') from du...
为了记录日志并且要做性能分析,我们要把
datetime
类型
字段
精确
到
毫秒
,而且要自动缺省值为当前
时间
。具体问题:https://blog.csdn.net/weixin_45357522/article/details/123554530
查阅
MySQL
文档,可以用
datetime
(3)或
datetime
(6),这样可以
精确
到
毫秒
或微秒,但我发现想给它赋缺省值(CURRENT_TIMESTAMP)时,一直提示无效缺省值错误。网上搜了好久,终究还是一无所获,最后经过多次试验,终于知道了解决办法,原来CURRE
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss");
String date2 = sdf.format(date);
CREATE TABLE test (
id int(11) NOT NULL AUTO_INCREMENT,
created_time
datetime
(3) DEFAULT CURRENT_TIMESTAMP(3) COMMENT ‘创建
时间
’,
updated_time
datetime
(3) DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
PRIMARY KEY (`id``)
在使用shiro时,使用某时刻的
时间
戳去做加盐加密,结果发现在密码一致的情况下,用户注册时获得的加密结果和登陆时获得的加密结果不一致。
时间
戳是使用java Date()对象生成的,能
精确
到
毫秒
,
Date signTime = new Date();
System.out.println(signTime.getTime());
1571388449910
然后你将其...
ViolinLeeChan:
WorkFlow:BPMN 2.0介绍(四):事件(Event)
netyeaxi:
WorkFlow:BPMN 2.0介绍(四):事件(Event)
syst001: