sqlserver中简繁体转换小方法

浏览: 1888

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

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

操作:建立简繁体字典表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 下载

推荐 0
本文由 kingwang 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册