sql获取汉字的拼音首字母

if exists (select * from sysobjects where id = object_id(N‘[fn_ChineseToSpell]‘) and xtype in (N‘FN‘, N‘IF‘, N‘TF‘)) www.2cto.com
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 @[email protected]+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 @[email protected]
set @[email protected][email protected]
end /*while循环结束*/
return(@return)
end /*函数实现结束*/
使用方式:
select dbo.[fn_ChineseToSpell](‘魏保光‘)

时间: 2024-10-14 15:33:29

sql获取汉字的拼音首字母的相关文章

sql server 汉字转拼音首字母

create function fun_getPY ( @str nvarchar(4000) ) returns nvarchar(4000) as begin declare @word nchar(1),@PY nvarchar(4000) set @PY='' while len(@str)>0 begin set @word=left(@str,1) --如果非汉字字符,返回原字符 set @[email protected]+(case when unicode(@word) bet

C# 获取汉字的拼音首字母(转)

原文:https://blog.csdn.net/younghaiqing/article/details/62417269 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母.碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手动把该汉字移动到对应的拼音首字母队列,我们这里介绍第二种. 获取汉字拼音的首字母是一个在做项目的过程中经常需要用到的功能,今天我们主要来探讨下C# 获取汉字的拼音首字母 static void Main

C# 获取汉字的拼音首字母

/// <summary> /// 在指定的字符串列表CnStr中检索符合拼音索引字符串 /// </summary> /// <param name="CnStr">汉字字符串</param> /// <returns>相对应的汉语拼音首字母串</returns> public static string GetSpellCode(string CnStr) { string strTemp="&quo

SqlServer 获取汉字的拼音首字母

一.该函数传入字符串,返回数据为:如果为汉字字符,返回该字符的首字母,如果为非汉字字符,则返回本身.二.用到的知识点:汉字对应的UNICODE值,汉字的排序规则.三.数据库函数: CREATE FUNCTION GetInitialLetter(@ChineseString NVARCHAR(4000)) RETURNS NVARCHAR(4000) AS BEGIN DECLARE @SingleCharacter NCHAR(1), @ReturnString NVARCHAR(4000)

sql语句 汉字转拼音首字母

create function GetPY(@str varchar(500))returns varchar(500)asbegin declare @cyc int,@length int,@str1 varchar(100),@charcate varbinary(20) set @cyc=1--从第几个字开始取 set @length=len(@str)--输入汉字的长度 set @str1=''--用于存放返回值 while @cyc<=1 begin select @charcate

ios汉字转拼音首字母

ios汉字转拼音首字母 //获取拼音首字母(传入汉字字符串, 返回大写拼音首字母) - (NSString *)firstCharactor:(NSString *)aString { //转成了可变字符串 NSMutableString *str = [NSMutableString stringWithString:aString]; //先转换为带声调的拼音 CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransform

php获取中文字符拼音首字母

//php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){ return ''; } $fchar = ord($str{0}); if($fchar >= ord('A') && $fchar <= ord('z')){ return strtoupper($str{0}); } $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s

简单测试--C#实现中文汉字转拼音首字母

第一种: 这个是自己写的比较简单的实现方法,要做汉字转拼音首字母,首先应该有一个存储首字母的数组,然后将要转拼音码的汉字与每个首字母开头的第一个汉字即"最小"的汉字作比较,这里的最小指的是按拼音规则比较最小,例如a比h小,所以"爱"比"恨"小,同一个字母开头的拼音比较大小以此类推.最后实现的结果是只转汉字,对于中文特殊字符.标点符号和英文都原样输出,不转码. 实现方法如下: 1 using System; 2 using System.Colle

php获取中文字符拼音首字母 阿星小栈

//php获取中文字符拼音首字母 public function getFirstWord($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord('A')&&$fchar<=ord('z')) return strtoupper($str{0}); $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s1); $s=$s