将常用半角转化为全角:
select nchar(65248+unicode('半角字符'))
将常用全角转化为半角:
select nchar(unicode('全角字符') - 65248)

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1609/1609681.xml?temp=.2326471
      

  2.   

    create function 全半角 (@str Nvarchar(4000),@flag nchar(4))
    returns nvarchar(4000)
    as
    begin
      declare @ nvarchar(4000)
      set @=N''
      if @flag=N'全角'
        while @str<>N''
          select @=@+case when unicode(left(@str,1)) between 33 and 126 then nchar(unicode(left(@str,1))+65248) else left(@str,1) end,@str=substring(@str,2,4000)
      else
        while @str<>N''
          select @=@+case when unicode(left(@str,1)) between 65281 and 65374 then nchar(unicode(left(@str,1))-65248) else left(@str,1) end,@str=substring(@str,2,4000)
      return @
    end
    go
    select dbo.全半角(N'12453ga的sd(a4ss57890','全角')select dbo.全半角(N'12453ga的s(da4ss57890','半角')godrop function 全半角