打印本文 打印本文 关闭窗口 关闭窗口
如何在SQL Server2000中处理半个汉字的问题
作者:武汉SEO闵涛  文章来源:敏韬网  点击数4363  更新时间:2008/12/14 2:05:55  文章录入:mintao  责任编辑:mintao
create function fn_TruncSemiHanzi(@str varchar(4000))

returns  varchar(8000)

as

begin

declare

@sTmp varchar(8000),@i int,@itmp int,@itmp2 int ,@stmp2 varchar(2)

select @sTmp=''''''''

  select @i=1

  while @i<=len(@str)

  begin

     select @itmp=convert(int,substring(convert(varbinary,substring(@str ,@i,1)),1,1)) --截取一个字节

    if @itmp>127  

    begin

      --大于127检查后面一个字节

select @itmp2=convert(int,substring(convert(varbinary,substring(@str ,@i,1)),2,1))

       if @itmp2>127

      begin

        select @stmp2=char(@itmp)+char(@itmp2)   --是一个完整的汉字

     end

     else

     begin

        select @stmp2=char(@itmp2)   --丢弃半个汉字

    end

  end

  else

  begin

上一页  [1] [2] [3] [4]  下一页

打印本文 打印本文 关闭窗口 关闭窗口