• C#&Sql获取中文字符拼音首字母的方法


    C#获取字符拼音首字母,可以存储在数据库中以备将来按字母搜索的需求。

    public static string GetAc(string s)
    {
    try
    {
    string temp = Service.Text.Chinese2Spell.MakeSpellCode(s, Service.Text.SpellOptions.EnableUnicodeLetter).ToUpper();
    if (temp.Length > 0)
    return temp.Substring(0, 1);
    return temp;
    }
    catch
    {
    return "";
    }
    }

    sql端进行处理

    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]('你好')
  • 相关阅读:
    建议博客园搭个威客平台,可行的发展方向和盈利方向
    SQLServer DBA 三十问(第11~20题)
    sqlserver2000中nvarchar保存韩文乱码问题解决
    beginning Linux programming读书笔记(2)之shell编程
    IBM打狗问题
    Perl入门笔记2之第二章 标量数据
    linux面试大全
    结构体对齐详解
    Linux下静态链接库与动态链接库的区别
    Perl入门 笔记1之第一章简介
  • 原文地址:https://www.cnblogs.com/huhangfei/p/4991765.html
Copyright © 2020-2023  润新知