sqlserver中简繁体转换小方法

问题:例如有一个字段内容为 :我是中國人 ,效果是转为“我是中国人

思路:把"國"换为”国“即可,同理如果字符中有多个繁体字则一一替换。

操作:建立简繁体字典表codetable

内容大致如下:

--------------------------------------------------------------

gb big
执 執
纸 紙
挚 摯
掷 擲
帜 幟
质 質

......

国 國

----------------------------------------------------------------

创建自定义方法:如下语法

create function [dbo].[f_GB2BIG1](
@str nvarchar(4000), --要转换的字符串
@toBIG bit --转换标志,为1,表示 GB-->BIG,否则是 BIG-->GB
)returns nvarchar(4000)
as
begin
if @toBIG=1
select @str=replace(@str,gb,big)
from codetable
where charindex(gb,@str)>0
else
select @str=replace(@str,big,gb)
from codetable
where charindex(big,@str)>0
return(@str)
end

--调用and测试

 (1):select   dbo.f_GB2BIG('我是中國國人',0)   

 

 (2):select   dbo.f_GB2BIG('我是中国国人',1)   

注意的是简繁体字典可能一直在更新,比较完整的版本请到http://vdisk.weibo.com/s/udWF5 下载

 

 

 

 

你可能感兴趣的:(sqlserver)