if exists (select * from sysobjects where id = object_id(N‘[fn_ChineseToSpell]‘) and xtype in (N‘FN‘, N‘IF‘, N‘TF‘))
drop function [fn_ChineseToSpell]
GO
/*创建取拼音首字母函数*/
create function [dbo].[fn_ChineseToSpell](@strChinese varchar(500)=‘‘)
returns varchar(500)
as
begin /*函数实现开始*/
declare @strLen int,@return varchar(500),@i int
declare @n int,@c char(1),@chn nchar(1)
select @strLen=len(@strChinese),@return=‘‘,@i=0
while @i<@strLen
begin /*while循环开始*/
select @i=@i+1,@n=63,@chn=substring(@strChinese,@i,1)
if @chn>‘z‘/*原理:“字符串排序以及ASCII码表”*/ select @n = @n +1,@c =case chn when @chn then char(@n) else @c end from(select top 27 * from (select chn = ‘吖‘ union all select ‘八‘ union all select ‘嚓‘ union all select ‘咑‘ union all select ‘妸‘ union all select ‘发‘ union all select ‘旮‘ union all select ‘铪‘ union all select ‘丌‘ /*because have no ‘i‘*/ union all select ‘丌‘ union all select ‘咔‘ union all select ‘垃‘ union all select ‘嘸‘ union all select ‘拏‘ union all select ‘噢‘ union all select ‘妑‘ union all select ‘七‘ union all select ‘呥‘ union all select ‘仨‘ union all select ‘他‘ union all select ‘屲‘ /*no ‘u‘*/ union all select ‘屲‘ /*no ‘v‘*/ union all select ‘屲‘ union all select ‘夕‘ union all select ‘丫‘ union all select ‘帀‘ union all select @chn) as a order by chn COLLATE Chinese_PRC_CI_AS ) as b else
set @c=@chn
set @return=@return+@c
end /*while循环结束*/
return(@return)
end /*函数实现结束*/
使用方式:
select dbo.[fn_ChineseToSpell](‘魏保光‘)
相关文章
- 08-25qt 获取汉字拼音首字母
- 08-25SQL 汉字转换成拼音首字母 首字母查
- 08-25数据库中获取汉字的首字母(网上某大神的)
- 08-25C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母
- 08-25sql语句 汉字转拼音首字母
- 08-25sql中文字符串获取拼音首字母
- 08-25sql server 利用首字母拼音排序和笔画排序的语句
- 08-25C# 如何获取SQL Server 中指定数据表的所有字段名和字段类型
- 08-25[Python] Python 获取中文的首字母 和 全部拼音首字母
- 08-25JS获取中文拼音首字母,并通过拼音首字母高速查找页面内的中文内容