sql 根据汉字的首字母查询

2014-11-24 08:38:39 ? 作者: ? 浏览: 1
---获取中文拼音函数---
create function vIFO_GetPy(@str nvarchar(4000))
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 into @t(chr,letter)
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







---------SQL 调用-------------

select * from vIFO_Region where Depth=4 and left(dbo.vIFO_GetPy(Name),1)='Z'

摘自 wei322x的专栏
-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: