我要拆分一个字段,字段中有汉字,还有字符
在取汉字时怎么按长度取子串
例:
字段  0000011111111111111112222222222222222222汉字一汉字一汉字二汉字二汉字二汉字三汉字三汉字三汉字三汉字三  33333333汉字四汉字四汉字四汉字四
结果要把 00000   1111111111111111 2222222222222222222  汉字一汉字一    汉字二汉字二汉字二汉字三汉字三汉字三汉字三汉字三    33333333    汉字四汉字四汉字四汉字四分别取出来 存到另一个表中
谢谢!!!!

解决方案 »

  1.   

    -- 按照给定的字节长度截取最大可能的中英文混合字符串,避免了半个汉字的问题
      create or replace function substr_gb(str_  varchar2,
      begin_ integer,
      length_ integer) return varchar2 is
      result varchar2(256);
       begin
      if length(substrb(str_, begin_, length_)) =
      length(substrb(str_, begin_, length_ + 1)) then
      result := substrb(str_, begin_, length_ - 1);
      else
      result := substrb(str_, begin_, length_);
      end if;
      

  2.   

    自己编写函数处理吧
    通过lengthb()以及length()函数来处理
    lengthb()-length()就是字符串中包含的中文字符数
      

  3.   

    用substr()和instr()两个函数配合使用
    "yown(yong) "写的PL/SQL对解决取半个汉字的问题非常OKThanks
    Hima