if exists(select * from sysobjects where name = 'fun_getpy')
drop function fun_getpy
gocreate function fun_getpy(@str nvarchar(4000))
returns nvarchar(4000)
asbegin
declare @word nchar(1), @py nvarchar(4000)
set @py = ''
while len(@str) > 0
begin
set @word = left(@str, 1) --如果非漢字字元,返回原字元
set @py = @py +
--簡體gbk碼漢字unicode值從19968開始, windows多國漢字,unicode目前收錄漢字共20902個
(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)
endreturn @py
endgo
漢字拼音簡碼
獲取乙個漢字的拼音聲母 unicode格式的乙個漢字 public static char convert char chinese byte asciibytes encoding.convert unicode,gb2312,unicodebytes 計算該漢字的gb 2312編碼 int n ...
C 實現漢字拼音簡碼
using system using system.collections.generic using system.text using microsoft.visualbasic namespace trancepy console.write 該系列漢字的拼音簡碼分別為 strpy n sta...
獲取輸入漢字的拼音簡碼
public class getpinyin private static int table new int 27 private static maprarewords private static mapbookfamilynames private static mapbookfamilys...