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

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

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

    Decode360's Blog

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

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評(píng)論 :: 0 Trackbacks
    獲得字段數(shù)字部分
    ?
    ?
    ??? 在平常的數(shù)據(jù)處理中,特別是數(shù)據(jù)清洗階段,要獲取字段中數(shù)字部分往往都是經(jīng)常會(huì)用到的要求。所以專(zhuān)門(mén)找了一下有哪幾種方法可以實(shí)現(xiàn)這個(gè)功能。10g中已經(jīng)提供了正則表達(dá)式的功能,所以這個(gè)事情變得方便了很多,但是還是比較喜歡用translate函數(shù)來(lái)獲取的這個(gè)方法,非常巧妙,這個(gè)是轉(zhuǎn)載的地址: http://zhouwf0726.itpub.net/post/9689/191406
    ?
    --該腳本可以直接拷貝運(yùn)行
    --現(xiàn)有字符串'23456中國(guó)3-00=.,45',想得到結(jié)果2345630045
    ?
    ?
    ?
    --方法一:translate函數(shù)
    select translate('23456中國(guó)3-00=.,45','0123456789'||'23456中國(guó)3-00=.,45','0123456789') from dual;
    ?
    ?
    --方法二:自定義函數(shù)
    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中國(guó)3-00=.,45') from dual;
    ?
    ?
    --方法三:正則表達(dá)式
    --oracle10g以上版本
    select regexp_replace('23456中國(guó)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; --取數(shù)字
    Select java_filterStr2Str('254名字性345345別介紹') From dual; --取文字
    ?
    ?
    ?
    posted on 2008-09-06 19:27 decode360 閱讀(243) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 05.SQL
    主站蜘蛛池模板: 国产成人免费A在线视频| 亚洲日韩精品国产一区二区三区| 精品国产免费一区二区| 久久免费线看线看| 一级毛片a免费播放王色电影| 中日韩亚洲人成无码网站| 亚洲AV乱码一区二区三区林ゆな| 亚洲av无码乱码在线观看野外| 毛片免费观看网址| 18级成人毛片免费观看| 99在线视频免费观看| 一级特黄录像视频免费| jizzjizz亚洲日本少妇| 亚洲人成电影网站久久| 亚洲国产模特在线播放| 亚洲专区在线视频| 亚洲va无码专区国产乱码| 亚洲精品乱码久久久久久蜜桃| 浮力影院第一页小视频国产在线观看免费 | 亚洲最新永久在线观看| 国产亚洲综合成人91精品| 久久久久久久亚洲精品| 亚洲精品国产高清不卡在线| 日本19禁啪啪无遮挡免费动图| 无码中文字幕av免费放| 99视频全部免费精品全部四虎| 中文字幕亚洲免费无线观看日本 | 全部免费国产潢色一级| 成人毛片免费视频| 成人黄18免费视频| 狼友av永久网站免费观看| 麻豆国产VA免费精品高清在线 | 亚洲欧洲精品视频在线观看| 日韩精品一区二区亚洲AV观看| 午夜亚洲国产理论秋霞| 亚洲AV中文无码乱人伦下载 | 2022免费国产精品福利在线| 一级毛片在线播放免费| 香蕉视频在线免费看| 免费无码又爽又刺激网站| 免费观看91视频|