欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

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

发布时间:2024/10/12 数据库 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 2015-05-27 用正则把oracle时间转化到mysql时间 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
history: 修改时间:2015年5月28日15:05:39 /**********************************************************/ 啊!好久没写博客了。今天要把一些数据从oracle迁移到mysql,对于时间的转化做了个正则替换,希望能帮到有需要的朋友。 0.用正则把id去掉: insert into IM_SM_EVALUATION ( NAME, CODE, VAL, HOST_TEL, DESCRIPTIOIN, CREATE_MAN, CREATE_TIME) values ( '未评价', 0, null, 13601, null, null, STR_TO_DATE('15-04-2015 15:54:55', '%d-%m-%Y %k:%i:%s')); /* ***************     未改的      **************/ insert into IM_SM_EVALUATION (id, NAME, CODE, VAL, HOST_TEL, DESCRIPTIOIN, CREATE_MAN, CREATE_TIME) values (410, '非常满意', 1, null, 13201, null, null, STR_TO_DATE('28-01-2015 16:42:12', '%d-%m-%Y %k:%i:%s')); /* 正则后*/ insert into IM_SM_EVALUATION ( NAME, CODE, VAL, HOST_TEL, DESCRIPTIOIN, CREATE_MAN, CREATE_TIME) values ( '非常满意', 1, null, 13201, null, null, STR_TO_DATE('28-01-2015 16:42:12', '%d-%m-%Y %k:%i:%s')); 正则: ^insert(.*)\(ID,(.*)\)\s*values\s*\(\d+,(.*)\);$ insert$1\($2\)\n values \($3\); /* **************** 最好先处理掉id,再执行 下面的操作,让mysql数据表主键自增 *********************/ 1.mysql中插入时间 http://bbs.csdn.net/topics/380234140 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\($1, '%d-%m-%Y %k:%i:%s'\)

 

对于大数量带入迁移有大用!我是使用notePad++的正则功能实现的。

转载于:https://www.cnblogs.com/xxchao/p/4534000.html

总结

以上是生活随笔为你收集整理的2015-05-27 用正则把oracle时间转化到mysql时间的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。