取得一段汉语的每个字的首字母

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

取得一段汉语的每个字的首字母

取得一段汉语的每个字的首字母 由于一个公司的OA上用到速查编码,必须得到每个字的首字母,便于以后的查询(如:开发部,则为KFB),到网上找到了一些资料,是一个存储过程。

存储过程为:

CREATE proc LOG_FindCode

@strName nvarchar(20),

@strFindCode nvarchar(20) output

as

begin

declare @word nchar(1),@PY nvarchar(4000)

set @PY=''

while len(@strName)>0

begin

set @word=left(@strName,1)

set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901

then (select top 1 PY from (

select 'A' as PY,N'驁' as word

union all select 'B',N'簿'

union all select 'C',N'錯'

union all select 'D',N'鵽'

union all select 'E',N'樲'

union all select 'F',N'鰒'

union all select 'G',N'腂'

union all select 'H',N'夻'

union all select 'J',N'攈'

union all select 'K',N'穒'

union all select 'L',N'鱳'

union all select 'M',N'旀'

union all select 'N',N'桛'

union all select 'O',N'漚'

union all select 'P',N'曝'

union all select 'Q',N'囕'

union all select 'R',N'鶸'

union all select 'S',N'蜶'

union all select 'T',N'籜'

union all select 'W',N'鶩'

union all select 'X',N'鑂'

union all select 'Y',N'韻'

union all select 'Z',N'咗'

) T

where word>=@word collate Chinese_PRC_CS_AS_KS_WS

order by PY ASC) else @word end)

set @strName=right(@strName,len(@strName)-1)

end

set @strFindCode=@PY

end

下面是把汉语传入,调用存储过程得到速查编码的方法

public string GetPY(string Name)//得到速查编码

{

SqlCommand cmd=new SqlCommand();

cmd.CommandType=CommandType.StoredProcedure;//类型为存储过程

cmd.CommandText='LOG_FindCode';//已经创建好的存储过程名

cmd.Connection=con;

con.Open();

SqlParameter parName=new SqlParameter();

parName.ParameterName='@strName';

parName.SqlDbType=SqlDbType.NVarChar;

parName.Size=20;

parName.Value=Name;

SqlParameter parMsg=new SqlParameter();

parMsg.ParameterName='@strFindCode';

parMsg.Direction=ParameterDirection.Output;

parMsg.SqlDbType=SqlDbType.NVarChar;

parMsg.Size=50;

cmd.Parameters.Add(parName);

cmd.Parameters.Add(parMsg);

cmd.ExecuteReader();

string strFindCode=parMsg.Value.ToString();

con.Close();

return strFindCode;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航