mysql f getpy 取得拼音字頭的儲存過程

2021-10-18 09:20:10 字數 2353 閱讀 3241

-- create scalar function (nwgetpyfirst)

if exists (select *

from sysobjects

where name = n'nwgetpyfirst')

drop function nwgetpyfirst

gocreate function nwgetpyfirst

(@str varchar(500) = '')

returns varchar(500)

asbegin

declare @strlen int,

@return varchar(500),

@ii int,

@c char(1),

@chn nchar(1)

--//初始化變數

declare @pytable table(

chn char(2) collate chinese_prc_cs_as not null,

py char(1) collate chinese_prc_cs_as null,

primary key (chn)

insert into @pytable values('吖', 'a')

insert into @pytable values('八', 'b')

insert into @pytable values('嚓', 'c')

insert into @pytable values('咑', 'd')

insert into @pytable values('妸', 'e')

insert into @pytable values('發', 'f')

insert into @pytable values('旮', 'g')

insert into @pytable values('鉿', 'h')

insert into @pytable values('丌', 'i')

--insert into @pytable values('丌', 'j')

insert into @pytable values('咔', 'k')

insert into @pytable values('垃', 'l')

insert into @pytable values('嘸', 'm')

insert into @pytable values('拏', 'n')

insert into @pytable values('噢', 'o')

insert into @pytable values('妑', 'p')

insert into @pytable values('七', 'q')

insert into @pytable values('呥', 'r')

insert into @pytable values('仨', 's')

insert into @pytable values('他', 't')

insert into @pytable values('屲', 'u')

--insert into @pytable values('屲', 'v')

--insert into @pytable values('屲', 'w')

insert into @pytable values('夕', 'x')

insert into @pytable values('丫', 'y')

insert into @pytable values('帀', 'z')

select @strlen = len(@str), @return = '', @ii = 0

--//迴圈整個字串,用拼音的首字母替換漢字

while @ii < @strlen

begin

select @ii = @ii 1, @chn = substring(@str, @ii, 1)

if @chn > 'z' --//檢索輸入的字串中有中文字元

select @c = max(py)

from @pytable

where chn <= @chn

else

set @c=@chn

set @return=@return @c

endreturn @return

endgo

-- example to execute function

select dbo.nwgetpyfirst('夢想國度'), dbo.nwgetpyfirst('noctwolf分享原始碼'), dbo.nwgetpyfirst('')

取得漢字的拼音

過去獲取漢字的拼音可不是一件輕鬆的事情,比較多的做法是利用gb2312碼是拼音序的這個特性去獲取,但gb2312字符集很少,而更全的gbk編碼有許多漢字就不是按照拼音序的了,所以這不是乙個很好的方法。另一種方法則行之有效,我研究出來的,那就是弄了一張全漢字拼音序表,乙個個查 雖然可行,但總覺得不夠地...

Excel 取得漢字拼音首字母

最近寫 需要用到將一些漢字的首字母作為列舉型的要求,網上看到了這個方法,在excel vb指令碼中使用,在這記錄下 下面是乙個vba自定義函式,按alt f11,插入模組,在右面視窗中貼上下面 若b10內容為 中國航天6號a,則在某空白格中輸入 hztopy b10 即可 function hzto...

C 取得漢字的拼音的首字母。

今天在yyf9989 的 blog 上看到一篇 c 計算漢語拼音碼 看了裡面的 覺得是比較繁瑣。它主要是檢索輸入的漢字在陣列中的位置,然後返回第乙個字母。於是就想起來了,可以利用漢字在計算機裡面的編碼來的到漢字的首拼音,查詢了一些資料,通過以下的方法成功的得到了解決。就放在這裡,請朋友們參考。sta...