【转】全角转半角\包含中文

alter   FUNCTION   convert_CharSet_2BJ(@WideString   nvarchar(2000))         --           输入的字符串,全角   
      RETURNS   nvarchar(2000) 
     
AS 
BEGIN 
    DECLARE   @i                   int 
                  ,@ret               nvarchar(2000) 
                  
    select   @i=1 
    SET   @ret= '' 
    declare @Strlen int 
    select @Strlen =len(@WideString)

        while    @Strlen >0 
    BEGIN   
        if   UNICODE(SUBSTRING(@WideString,@i,1))> 255       
        SET     @ret=@ret+NCHAR(UNICODE(SUBSTRING(@WideString,@i,1))- 
                                  CASE     
                                      WHEN     SUBSTRING(@WideString,@i,1)= ''     THEN     12244     ELSE         65248                                       
                                  END     )   
    else 
        SET     @ret=@ret+(SUBSTRING(@WideString,@i,1))           
        SET     @i=@i+1
        set     @Strlen=@Strlen-1 
    END     

    return   @ret 
end 

go 

 UNICODE:返回输入表达式的第一个字符的整数值。

NCHAR:返回具有指定整数代码的 Unicode 字符。

posted on 2012-10-23 17:34  妖叨叨  阅读(346)  评论(0编辑  收藏  举报

导航