详解SQL Server 如何得到汉字的声母-金宇
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> ADP及SQL SERVER


详解SQL Server 如何得到汉字的声母

发表时间:2008/7/4 22:14:07 评论(0) 浏览(4320)  评论 | 加入收藏 | 复制
   
摘 要:详解SQL Server 如何得到汉字的声母
正 文:
在SQL中创建用户自定义拼音函数:
create function f_GetPy(@Str nvarchar(400))
returns nvarchar(4000)
as
begin
declare @strlen int,@re nvarchar(4000)
declare @t table(chr nchar(1) collate Chinese_PRC_CI_AS,letter nchar(1))
insert @t select '吖','A' union all select '八','B'
union all select '嚓','C' union all select '咑','D'
union all select '妸','E' union all select '发','F'
union all select '旮','G' union all select '铪','H'
union all select '丌','J' union all select '咔','K'
union all select '垃','L' union all select '嘸','M'
union all select '拏','N' union all select '噢','O'
union all select '妑','P' union all select '七','Q'
union all select '呥','R' union all select '仨','S'
union all select '他','T' union all select '屲','W'
union all select '夕','X' union all select '丫','Y'
union all select '帀','Z'

select @strlen=len(@str),@re='
while @strlen>0
begin
select top 1 @re=letter+@re,@strlen=@strlen-1
from @t a where chr<=substring(@str,@strlen,1)
order by chr desc
if @@rowcount=0
select @re=substring(@str,@strlen,1)+@re,@strlen=@strlen-1
end
return(@re)
end
go
--测试
select dbo.f_GetPy('东莞市') as 东莞市,dbo.f_GetPy('ab中c国人') as 中国人

--以后查询的时候,就可以调用上面的函数来实现汉字模糊查询

select * from 表 where dbo.f_getpy(字段)='zgyh'


Access软件网交流QQ群(群号:198465573)
 
 相关文章
【access小品】一份崇高两份伟大--计算字符串中汉字、英文等字...  【todaynew  2010/12/28】
汉字转为拼音首字母大写示例  【宏鹏  2011/10/12】
【Access源码示例】--汉字转拼音首字母大写、转完整拼音  【宏鹏  2012/9/27】
利用正则表达式提取字符串里的汉字  【叶海峰  2013/4/19】
Excel中将汉字转化为拼音(实例)  【杏林求真  2013/4/25】
常见问答
技术分类
相关资源
文章搜索
关于作者

金宇

文章分类

文章存档

友情链接