2015-05-27 用正则把oracle时间转化到mysql时间

啊!好久没写博客了。今天要把一些数据从oracle迁移到mysql,对于时间的转化做了个正则替换,希望能帮到有需要的朋友。
 
1.mysql中插入时间
 
mysql在插入时间的时候 要进行格式转换 例如 insert into users(birth) values(STR_TO_DATE(‘" + alarmDefi.getEndTime()+ "‘,‘%Y-%m-%d %k:%i:%s‘)) ;
这样就可以插入 年-月-日 时:分:秒 
例:
insert into IM_SM_EVALUATION ( NAME, CODE, VAL, HOST_TEL, DESCRIPTIOIN, CREATE_MAN, CREATE_TIME)
values ( ‘非常满意‘, 1, null, 13452, null, null, STR_TO_DATE(‘2014-12-30 19:29:20‘, ‘%Y-%m-%d %k:%i:%s‘));
 
2.从oracle的插入时间的脚本 转化为 mysql插入时间的脚本:
oracle脚本,利用PLSQL的 Export data 功能导出的脚本:
insert into IM_SM_EVALUATION ( NAME, CODE, VAL, HOST_TEL, DESCRIPTIOIN, CREATE_MAN, CREATE_TIME)
values ( ‘满意‘, 2, null, 13601, null, null, to_date(‘15-04-2015 15:54:55‘, ‘dd-mm-yyyy hh24:mi:ss‘));
insert into IM_SM_EVALUATION ( NAME, CODE, VAL, HOST_TEL, DESCRIPTIOIN, CREATE_MAN, CREATE_TIME)
values (‘不满意‘, 3, null, 13601, null, null, to_date(‘15-04-2015 15:54:55‘, ‘dd-mm-yyyy hh24:mi:ss‘));
 
利用正则来替换:
to_date(‘31-12-2014 19:29:20‘, ‘dd-mm-yyyy hh24:mi:ss‘)
STR_TO_DATE(‘31-12-2014 19:29:20‘, ‘%d-%m-%Y %k:%i:%s‘)  /* 注意 %d 和%Y换下位置,不会影响最后插入效果 */
 
正则:
to_date\((.*), ‘dd-mm-yyyy hh24:mi:ss‘\)
STR_TO_DATE\($2, ‘%d-%m-%Y %k:%i:%s‘\)
 
对于大数量带入迁移有大用!我是使用notePad++的正则功能实现的。
 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。