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

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

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

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
    獲得字段數字部分
    ?
    ?
    ??? 在平常的數據處理中,特別是數據清洗階段,要獲取字段中數字部分往往都是經常會用到的要求。所以專門找了一下有哪幾種方法可以實現這個功能。10g中已經提供了正則表達式的功能,所以這個事情變得方便了很多,但是還是比較喜歡用translate函數來獲取的這個方法,非常巧妙,這個是轉載的地址: http://zhouwf0726.itpub.net/post/9689/191406
    ?
    --該腳本可以直接拷貝運行
    --現有字符串'23456中國3-00=.,45',想得到結果2345630045
    ?
    ?
    ?
    --方法一:translate函數
    select translate('23456中國3-00=.,45','0123456789'||'23456中國3-00=.,45','0123456789') from dual;
    ?
    ?
    --方法二:自定義函數
    create or replace function f_filter_str(var_str varchar) return varchar
    is
    var_str_new varchar2(2000);
    begin
    for i in 1..length(var_str) loop
    if ascii(substr(var_str,i,1))>=48 and ascii(substr(var_str,i,1))<=57 then
    var_str_new := var_str_new || substr(var_str,i,1);
    end if;
    end loop;
    return var_str_new;
    end f_filter_str;
    /
    ?
    select f_filter_str('23456中國3-00=.,45') from dual;
    ?
    ?
    --方法三:正則表達式
    --oracle10g以上版本
    select regexp_replace('23456中國3-00=.,45','[^0-9]') from dual;
    ?
    ?
    --方法四:
    create or replace and compile java source named stringutil as
    ?
    import Java.io.*;
    import Java.sql.*;
    ?
    public class StringUtil
    {
    public static String filterStr2Num(String str){
    String tmpstr = str;
    String savestr;
    String result = "";
    for (int i=0;i<tmpstr.length();i++){
    savestr = tmpstr.substring(i,i+1);
    if (StringUtil.isNumeric(savestr)){
    result+=savestr;
    }
    ?
    }
    return result;
    ?
    }
    ?
    public static String filterStr2Str(String str){
    String tmpstr = str;
    String savestr;
    String result = "";
    for (int i=0;i<tmpstr.length();i++){
    savestr = tmpstr.substring(i,i+1);
    if (!StringUtil.isNumeric(savestr)){
    result+=savestr;
    }
    ?
    }
    return result;
    ?
    }
    ?
    ?
    public static boolean isNumeric(String str){
    try{
    Integer.valueOf(str);
    return true;
    }catch(Exception e){
    return false;
    }
    }
    }
    ?
    --然后:
    create or replace function Java_filterStr2Num(str In Varchar) return varchar2 as
    LANGUAGE JAVA
    NAME 'StringUtil.filterStr2Num(java.lang.String) return java.lang.String';
    create or replace function Java_filterStr2Str(str In Varchar) return varchar2 as
    LANGUAGE JAVA
    NAME 'StringUtil.filterStr2Str(java.lang.String) return java.lang.String';
    ?
    --再然后
    Select java_filterStr2Num('254名字性345345別介紹') From dual; --取數字
    Select java_filterStr2Str('254名字性345345別介紹') From dual; --取文字
    ?
    ?
    ?
    posted on 2008-09-06 19:27 decode360 閱讀(242) 評論(0)  編輯  收藏 所屬分類: 05.SQL
    主站蜘蛛池模板: 蜜桃传媒一区二区亚洲AV| 亚洲一区二区三区成人网站| 国产激情久久久久影院老熟女免费 | 四虎亚洲精品高清在线观看| 中文字幕成人免费视频| 亚洲精品在线电影| 久草视频免费在线| 色在线亚洲视频www| 在线免费观看一级毛片| 校园亚洲春色另类小说合集 | 成在线人免费无码高潮喷水| 亚洲一区二区三区国产精品| 国产精品综合专区中文字幕免费播放| 亚洲精品人成无码中文毛片| xxxx日本在线播放免费不卡| 国产亚洲精品美女久久久 | 怡红院免费全部视频在线视频| 亚洲综合伊人久久综合| 无人在线观看免费高清| 亚洲天堂一区二区三区| 女人18毛片a级毛片免费视频| 国产亚洲福利精品一区二区| 久久精品亚洲乱码伦伦中文| 久久免费美女视频| 国产精品亚洲专区在线观看| 四虎在线播放免费永久视频| 成av免费大片黄在线观看| 亚洲美女视频免费| 日韩免费视频播播| 国色精品va在线观看免费视频 | 亚洲三级在线播放| 四虎影视免费永久在线观看 | 一区在线免费观看| 久久精品国产亚洲AV无码麻豆| 成年性生交大片免费看| 人妻免费久久久久久久了| 中文字幕亚洲精品资源网| 四虎永久免费网站免费观看| 免费无码又爽又刺激高潮软件| 国产成人亚洲合集青青草原精品| av无码东京热亚洲男人的天堂|