我拿到一份数据,数据里面物料名称和规格是混在一起的(在同一个字段内),如:螺钉M5,轴承K100,现在我想把名称和规格分开,放到两个不同的字段里面,也就是把中文字符放在一个字段内,非中文字符放在一个字段内,不知道有没有相关的语句.这是小弟全部的分了,还望各位大侠不吝赐教~~

解决方案 »

  1.   

    规格全是英文的轴承k100 ,规格里面的字母全部大写英文字母
    铆螺母M4X14X120
    气撑杆082500282
    滚动轴承2201
    螺母GUK/45X1.5
      

  2.   

    --你试试这两个函数 有问题反馈下
    -提取汉字
    create or replace function get_chinese_fun( v_inputchar varchar2)
    return  varchar2
    as
    v_outchar varchar2(200):=v_inputchar;
    begin
    for i in 32..126
    loop
       v_outchar:=replace(v_outchar,chr(i),'');
    end loop;
    return v_outchar;
    end;
    --提前非汉字(非汉字为半角的)
    create or replace function get_ex_chinese_fun(v_inputchar varchar2)
    return  varchar2
    as
    v_outchar varchar2(200):='';
    v_len number;
    v_charascii number;
    begin
    select length(v_inputchar) into v_len from dual;
    for i in 1..v_len
    loop
       v_charascii:=ascii(substr(v_inputchar,i,1));
      if v_charascii>=32 and v_charascii<=126 then
            v_outchar:=v_outchar||substr(v_inputchar,i,1);
      end if;
    end loop;
    return v_outchar;
    end;
      

  3.   

    用ascii()行不,只要知道中文字符的ascii值最大的是哪个,小于ascii()的,不就全是英文或者数字了,我感觉哈~