教您如何用SQL函數(shù)實(shí)現(xiàn)漢字得到首字母拼音
由于時下的系統(tǒng)都有種流行的搜索方式,就是按漢字的首字母拼音搜索,下面就將為您介紹使用SQL函數(shù)來自動處理數(shù)據(jù)庫中存儲漢字得到首字母拼音的問題,供您參考,希望對您更好掌握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'錯'
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('中華人民共和國')
結(jié)果都為:ZHRMGHG 首字母的拼音
【編輯推薦】