<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    David.Turing's blog

     

    [即學即用]正則語法的一次小應用——Emeditor

    近日,朋友發送了一個SQL文件給我,他的日期在數據庫中是Varchar類型,而我是date類型,
    該文件有2萬個Insert語句,類似
    insert into T_ZX_HOLIDAY (CDATE, CWEEK, IS_HOLIDAY)
    values ('2006-01-01', 1, '1');
    insert into T_ZX_HOLIDAY (CDATE, CWEEK, IS_HOLIDAY)
    values ('2006-01-02', 2, '0');
    insert into T_ZX_HOLIDAY (CDATE, CWEEK, IS_HOLIDAY)
    values ('2006-01-03', 3, '0');
    .......

    我不得不將該插入語句改成
    insert into T_ZX_HOLIDAY (CDATE, CWEEK, IS_HOLIDAY)
    values (to_date('2006-01-01','yyyy-mm-dd'), 1, '1');
    insert into T_ZX_HOLIDAY (CDATE, CWEEK, IS_HOLIDAY)
    values (to_date('2006-01-02','yyyy-mm-dd'), 2, '0');
    insert into T_ZX_HOLIDAY (CDATE, CWEEK, IS_HOLIDAY)
    values (to_date('2006-01-03','yyyy-mm-dd'), 3, '0');
    .....

    非魚說用宏和UltraEdit可以做到,但是語句不是同一行的:(
    GTM說寫個Java類
    replaceAll.("value ('.*?',","value (todate'*?'"))
    也可以完成,但我覺得這樣做仍然麻煩。

    我查了一下Emeditor語法及參考了

    work done!

    \0表示匹配上一次的匹配結果
    如果你直接用Perl命令,(這些東西需要轉義,多了就麻煩,我還是比較喜歡Emditor/Editplus.

    posted on 2006-03-16 17:40 david.turing 閱讀(2558) 評論(5)  編輯  收藏 所屬分類: 即學即用

    評論

    # re: [即學即用]正則語法的一次小應用——Emeditor 2006-03-17 10:33 shaw

    你可以在命令行
    perl -pi -e "s/('\d+-\d+-\d+')/to_date(\$1,'yyyy-mm-dd')/" filename
    直接就替換完成了  回復  更多評論   

    # re: [即學即用]正則語法的一次小應用——Emeditor 2006-03-20 10:59 ChuPaChuPs

    editplus可以正則替換的呀  回復  更多評論   

    # re: [即學即用]正則語法的一次小應用——Emeditor 2006-03-20 13:11 david.turing

    en, shaw, 如果想在 ('2006-01-03', 3, '0')之前加一個自增的序號,
    ('0001','2006-01-03', 3, '0')
    ('0002','2006-01-03', 3, '0')
    ....
    該如何做?  回復  更多評論   

    # re: [即學即用]正則語法的一次小應用——Emeditor 2006-03-22 22:29 珂兒

    呵呵,要是我就用EDITPLUS打開,搜索(' 替換為 (to_date('
    然后搜索', 替換為 ','yyyy-mm-dd'),
    不過這是你這三列的一個特殊情況.
    至于多列的,用EDITPLUS的正則表達式照樣可以實現吧?  回復  更多評論   

    # re: [即學即用]正則語法的一次小應用——Emeditor 2006-03-29 13:25 shaw

    如果要增加一個自增列,要用perl寫一行是寫不下的,看你的sql語法是oracle的,可以在數據庫里做點手腳,建一個sequence,把sequence的值放置在第一列就可以了
    CREATE SEQUENCE AUTOID
    START WITH 1
    INCREMENT BY 1

    --用下面的文本代替那個自增序號的位置
    TO_CHAR(AUTOID.NEXTVAL,'FM0000')  回復  更多評論   

    導航

    統計

    常用鏈接

    留言簿(110)

    我參與的團隊

    隨筆分類(126)

    隨筆檔案(155)

    文章分類(9)

    文章檔案(19)

    相冊

    搜索

    積分與排名

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 69式互添免费视频| 国产精品亚洲自在线播放页码| 亚洲中文字幕无码爆乳app| 免费无码毛片一区二区APP| 亚洲乱码中文字幕综合| 国产精品亚洲专区一区| 免费视频中文字幕| 亚洲欧洲专线一区| 女人被弄到高潮的免费视频| 亚洲一区二区三区久久久久| 久久久久久曰本AV免费免费| 亚洲国产精品美女| 中文字幕无码不卡免费视频| 亚洲已满18点击进入在线观看| 亚洲精品动漫免费二区| 亚洲乱码日产精品一二三| 免费看香港一级毛片| 青青青亚洲精品国产| 亚洲午夜精品久久久久久浪潮| 五月天国产成人AV免费观看| 亚洲综合激情五月丁香六月| 免费观看黄网站在线播放| 亚洲综合校园春色| 全黄a免费一级毛片人人爱| 亚洲日韩在线观看免费视频| 国产亚洲AV无码AV男人的天堂| 日韩免费电影网址| 亚洲人成网站18禁止久久影院| 卡一卡二卡三在线入口免费| 日韩大片在线永久免费观看网站 | 亚洲精品无码久久久| 一级**爱片免费视频| 亚洲av色福利天堂| 久久精品网站免费观看 | 日本免费精品一区二区三区| 国产亚洲人成网站在线观看| 99re免费99re在线视频手机版| 亚洲国产日韩在线一区| 免费**毛片在线播放直播| 久久99毛片免费观看不卡| 亚洲AV成人一区二区三区在线看|