從全拼音中得到漢字拼音

2021-04-27 08:10:39 字數 2996 閱讀 4957

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