mysql导入数据,涉及到时间转换,乱码问题解决

mysql导入数据,涉及到时间转换,乱码问题解决,第1张

概述表结构:drop table if exists `qi_an_log`;CREATE TABLE `qian_log` (`dt` LONG NOT NULL COMMENT '产生日期,格式yyyy-MM-dd',`METHOD_NAME` varchar(30) NOT NULL COMMENT '渠道名称或者接口名称',`src_ip` varchar(45) DEFAULT NULL,`ip` varchar(45) DEFAULT NULL,`mobile` varchar(30) DEFAULT NULL,`id_no` varchar(30) DEFAULT NULL,`user_name` varchar(32) DEFAULT NULL COMMENT '姓名',`log_date` datetime DEFAULT NULL COMMENT '日期',`ret_code` tinyint(4) DEFAULT NULL DEFAULT '1' COMMENT '默认值1-激活,0-非激活',`is_exist` tinyint(4) DEFAULT NULL DEFAULT '0' COMMENT '默认值0-未删除,1-删除')ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='导入数据';1. 编码格式问题解决:show variables like 'char%';然后set character_set_database=utf8;2. 涉及到分隔符load data local infile 'D:/document/log/test11.csv'into table qian_log FIELDS TERMINATED BY ',' (dt,METHOD_NAME,src_ip,ip,mobile,id_no,user_name,ret_code,is_exist);3. 导入日期日期完全可以使用varchar表示,不影响使用,且不易出错。alter table `check_post01` add column  `log_date` VARCHAR(45) DEFAULT NULL COMMENT '日期';update qi_an_log set dt=REPLACE(dt,'"','');update `qi_an_log` set log_date= FROM_UNIXTIME( dt/1000, '%Y-%m-%d' ); ;涉及时间格式转换select FROM_UNIXTIME( dt/1000, '%Y-%m-%d' ) from `qi_an_log`; 

表结构:

drop table if exists `qi_an_log`;CREATE table `qian_log` (`dt` LONG NOT NulL COMMENT '产生日期,格式yyyy-MM-dd',`METHOD_name` varchar(30) NOT NulL COMMENT '渠道名称或者接口名称',`src_ip` varchar(45) DEFAulT NulL,`ip` varchar(45) DEFAulT NulL,`mobile` varchar(30) DEFAulT NulL,`ID_no` varchar(30) DEFAulT NulL,`user_name` varchar(32) DEFAulT NulL COMMENT '姓名',`log_date` datetime DEFAulT NulL COMMENT '日期',`ret_code` tinyint(4) DEFAulT NulL DEFAulT '1' COMMENT '默认值1-激活,0-非激活',`is_exist` tinyint(4) DEFAulT NulL DEFAulT '0' COMMENT '默认值0-未删除,1-删除')ENGINE=InnoDB DEFAulT CHARSET=utf8 COMMENT='导入数据';

1. 编码格式问题解决:

show variables like 'char%';

然后

set character_set_database=utf8;

2. 涉及到分隔符

data local infile qian_log FIELDS TERMINATED (dt,METHOD_name,src_ip,ip,mobile,ID_no,

3. 导入日期

日期完全可以使用varchar表示,不影响使用,且不易出错。

alter table `check_post01` add column  `log_date` VARCHAR(45) DEFAulT NulL COMMENT '日期';

update qi_an_log set dt=REPLACE(dt,'"','');

update `qi_an_log` set log_date= FROM_UNIXTIME( dt/1000,'%Y-%m-%d' ); ;

涉及时间格式转换

select FROM_UNIXTIME( dt/1000,'%Y-%m-%d' ) from `qi_an_log`;

总结

以上是内存溢出为你收集整理的mysql导入数据,涉及到时间转换,乱码问题解决全部内容,希望文章能够帮你解决mysql导入数据,涉及到时间转换,乱码问题解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1169189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存