新聞中心
由于時(shí)下的系統(tǒng)都有種流行的搜索方式,就是按漢字的首字母拼音搜索,下面就將為您介紹使用SQL函數(shù)來(lái)自動(dòng)處理數(shù)據(jù)庫(kù)中存儲(chǔ)漢字得到首字母拼音的問(wèn)題,供您參考,希望對(duì)您更好掌握SQL函數(shù)的使用有所幫助。

代碼如下:
create function fun_getPY(@str nvarchar(4000))
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--如果非漢字字符,返回原字符
set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901
then (select top 1 PY from (
select 'A' as PY,N'驁' as word
union all select 'B',N'簿'
union all select 'C',N'錯(cuò)'
union all select 'D',N'鵽'
union all select 'E',N'樲'
union all select 'F',N'鰒'
union all select 'G',N'腂'
union all select 'H',N'夻'
union all select 'J',N'攈'
union all select 'K',N'穒'
union all select 'L',N'鱳'
union all select 'M',N'旀'
union all select 'N',N'桛'
union all select 'O',N'漚'
union all select 'P',N'曝'
union all select 'Q',N'囕'
union all select 'R',N'鶸'
union all select 'S',N'蜶'
union all select 'T',N'籜'
union all select 'W',N'鶩'
union all select 'X',N'鑂'
union all select 'Y',N'韻'
union all select 'Z',N'咗'
) T
where word>=@word collate Chinese_PRC_CS_AS_KS_WS
order by PY ASC) else @word end)
set @str=right(@str,len(@str)-1)
end
return @PY
end
--函數(shù)調(diào)用實(shí)例:
select dbo.fun_getPY('中華人民共和國(guó)')
結(jié)果都為:ZHRMGHG 首字母的拼音
【編輯推薦】
基于時(shí)間SQL函數(shù)詳解
SQL中表變量是否必須替代臨時(shí)表
SQL中表變量的不足
SQL循環(huán)語(yǔ)句的妙用
SQL循環(huán)語(yǔ)句示例
名稱欄目:教您如何用SQL函數(shù)實(shí)現(xiàn)漢字得到首字母拼音
鏈接分享:http://www.fisionsoft.com.cn/article/dhshpje.html


咨詢
建站咨詢
