2015-05-27 用正则把oracle时间转化到mysql时间
生活随笔
收集整理的這篇文章主要介紹了
2015-05-27 用正则把oracle时间转化到mysql时间
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
history: 修改時(shí)間:2015年5月28日15:05:39 /**********************************************************/ 啊!好久沒(méi)寫(xiě)博客了。今天要把一些數(shù)據(jù)從oracle遷移到mysql,對(duì)于時(shí)間的轉(zhuǎn)化做了個(gè)正則替換,希望能幫到有需要的朋友。 0.用正則把id去掉: insert into IM_SM_EVALUATION ( NAME, CODE, VAL, HOST_TEL, DESCRIPTIOIN, CREATE_MAN, CREATE_TIME) values ( '未評(píng)價(jià)', 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,再執(zhí)行 下面的操作,讓mysql數(shù)據(jù)表主鍵自增 *********************/ 1.mysql中插入時(shí)間 http://bbs.csdn.net/topics/380234140 mysql在插入時(shí)間的時(shí)候?要進(jìn)行格式轉(zhuǎn)換?例如?insert?into?users(birth)?values(STR_TO_DATE('"?+?alarmDefi.getEndTime()+?"','%Y-%m-%d?%k:%i:%s'))?;
這樣就可以插入?年-月-日?時(shí):分:秒?
例: 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的插入時(shí)間的腳本 轉(zhuǎn)化為 mysql插入時(shí)間的腳本: oracle腳本,利用PLSQL的 Export data 功能導(dǎo)出的腳本: 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')); 利用正則來(lái)替換: 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換下位置,不會(huì)影響最后插入效果 */ 正則: //不用貪婪用懶惰,并且為防出錯(cuò)最好匹配大小寫(xiě)(即大小寫(xiě)敏感) to_date\((.*?), 'dd-mm-yyyy hh24:mi:ss'\) STR_TO_DATE\($1, '%d-%m-%Y %k:%i:%s'\)
這樣就可以插入?年-月-日?時(shí):分:秒?
例: 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的插入時(shí)間的腳本 轉(zhuǎn)化為 mysql插入時(shí)間的腳本: oracle腳本,利用PLSQL的 Export data 功能導(dǎo)出的腳本: 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')); 利用正則來(lái)替換: 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換下位置,不會(huì)影響最后插入效果 */ 正則: //不用貪婪用懶惰,并且為防出錯(cuò)最好匹配大小寫(xiě)(即大小寫(xiě)敏感) to_date\((.*?), 'dd-mm-yyyy hh24:mi:ss'\) STR_TO_DATE\($1, '%d-%m-%Y %k:%i:%s'\)
?
對(duì)于大數(shù)量帶入遷移有大用!我是使用notePad++的正則功能實(shí)現(xiàn)的。轉(zhuǎn)載于:https://www.cnblogs.com/xxchao/p/4534000.html
總結(jié)
以上是生活随笔為你收集整理的2015-05-27 用正则把oracle时间转化到mysql时间的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 为什么二手跑车那么便宜?
- 下一篇: 软件开发生命周期模型 瀑布模型、增量模型