-- 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...