您的位置:首页 > 其它

中文转换成拼音和笔画

2008-10-28 18:51 706 查看
在程序设计中,为方便用户输入,需设计成用户输入拼音首字母或笔画,电脑显示相应的汉字,下面存储过程演示这一过程;
1、在数据库中建一对应表chinese_tab,内含6W多条汉字对应记录,字段分别为chinese,pingyin,bihua , 表单内容略
2、输入汉字字符串,输出对应的拼音和笔画

CREATE PROCEDURE [dbo].[Pro_CnToBihuaPingYin]

@sourceStr varchar(500),

@PinYingStr varchar(50) out,

@BiHuaStr varchar(50) out

AS

declare @other varchar(150)

set @other='qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789!@#$%^&*()_ +-=`~,./;[]/<>?:"{}|'

declare @i int

set @i=0

while @i<=len(@sourceStr)

begin

if charindex(substring(@sourceStr,@i,1),@other)>0

set @sourceStr=replace(@sourceStr,substring(@sourceStr,@i,1),' ')

set @i=@i+1

end

set @sourceStr=replace(@sourceStr,' ','')

declare @chinese varchar(2)

declare @pingyin varchar(1)

declare @bihua varchar(1)

set @PinYingStr=''

set @BiHuaStr=''

declare tempWp cursor for

select chinese,pingyin,bihua from dbo.chinese_tab

where charindex(chinese,@sourceStr)>0

open tempWp

fetch next from tempWp into @chinese,@pingyin,@bihua

while @@FETCH_STATUS = 0

begin

if @PinYingStr=''

set @PinYingStr=@sourceStr

if @BiHuaStr=''

set @BiHuaStr=@sourceStr

set @PinYingStr=replace(@PinYingStr,@chinese,@pingyin)

set @BiHuaStr=replace(@BiHuaStr,@chinese,@bihua)

fetch next from tempWp into @chinese,@pingyin,@bihua

end

close tempWp

deallocate tempWp

GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: