--(1) jj的
create
function
[dbo].
[funcgetpy](
@str
nvarchar
(4000
))returns
nvarchar
(4000)as
begin
declare
@strlen
int,
@renvarchar
(4000
)declare
@ttable
(chr
nchar(1
) collate chinese_prc_ci_as,letter
nchar(1
))insert
into
@t(chr,letter)
select'吖
','a
'union
allselect'八
','b
'union
allselect'嚓
','c
'union
allselect'咑
','d
'union
allselect'妸
','e
'union
allselect'發
','f
'union
allselect'旮
','g
'union
allselect'鉿
','h
'union
allselect'丌
','j
'union
allselect'咔
','k
'union
allselect'垃
','l
'union
allselect'嘸
','m
'union
allselect'拏
','n
'union
allselect'噢
','o
'union
allselect'妑
','p
'union
allselect'七
','q
'union
allselect'呥
','r
'union
allselect'仨
','s
'union
allselect'他
','t
'union
allselect'屲
','w
'union
allselect'夕
','x
'union
allselect'丫
','y
'union
allselect'帀
','z
'select
@strlen
=len
(@str
),@re=''
while
@strlen
>
0begin
select
top1
@re=
letter
+@re
,@strlen
=@strlen-1
from
@ta
where
chr<=
substring
(@str
,@strlen,1
)order
bychr
desc
if@@rowcount=0
select
@re=
substring
(@str
,@strlen,1
)+@re,
@strlen
=@strlen-1
endreturn
(@re
)end
--z老大的
/*--從全拼音中得到漢字拼音
首先,用輸入法生成器(imegen.exe)的逆轉換功能
將全拼的碼表檔案 winpy.mb 轉換成文字檔案 c:/winpy.txt
然後用下面的語句匯入到資料庫中
下面只是顯示了讀取並顯示的過程,並沒有儲存到具體的表中
讀取語句中的:
with(datafiletype='widechar') 的作用是處理unicode資料
我是用win2000測試的,轉換的文字檔案編碼是unicode
如果是編碼是ansi,則不要這句
檢視文字檔案編碼,可以用記事本開啟文字檔案,另存為,就可以看到當前編碼
--*/
--建立臨時表
create
table
#t(a
varchar
(500
))
--匯入資料
bulk
insert
#t
from
'c:/winpy.txt
'with
(datafiletype='
widechar
')
--刪除表頭
setrowcount
12delete
from
#t
setrowcount0--
分拆處理
select
漢字=left
(a,patindex('
%[a-z]%
',a)-1
) ,拼音
=stuff
(a,1
,patindex('
%[a-z]%
',a)-1
,'') from
#t
--where patindex('%[a-z]%',a)=2 --如果是獲得單字的讀音
從全拼音中得到漢字拼音
1 jj的 create function dbo funcgetpy str nvarchar 4000 returns nvarchar 4000 as begin declare strlen int,renvarchar 4000 declare ttable chr nchar 1 col...
得到漢字的拼音
function tform1.getpy shz string string vari integer py string s string function getpyindexchar hzchar string char begin case word hzchar 1 shl 8 word...
得到漢字拼音的原碼
得到漢字的首拼 漢字 public static string getshoupin string hz return ret private static string getpinyin2 string hz int i1 short zw 0 int i2 short zw 1 hz int ...