取漢字拼間首字母函式

2021-04-07 12:11:18 字數 1540 閱讀 7365

說明:我原來也寫過乙個相同功能的函式,今天看到了下面的**,發現比我寫的簡潔多了,效率不錯,特的抄錄在下面。/*

sql函式: fun_getpy 得到漢字串拼音 */

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

漢字提取首字母

public class getcnspell return mystr 把提取的字母變成小寫 需要轉換的字串 轉換結果 public string getlowerchinesespell string strtext 把提取的字母變成大寫 需要轉換的字串 轉換結果 public string g...

sql實現取漢字大寫首字母

create function dbo f getpy str nvarchar 4000 returns nvarchar 4000 as begin declare pytable ch char 1 hz1 nchar 1 collate chinese prc cs as ks ws,hz2...

取漢字 中文的拼音首字母

最近在專案中遇到個問題,要將人名前加拼音首字母,方便查詢。我在這方法中取得了一級和二級所有字型檔,也對常見的多音字姓氏做了修改。傳入引數是姓名,返回拼音首字母 姓名,例如 傳入 張揚 返回 zy張揚 命名空間 using system.text.regularexpressions 方法如下 獲得名...