中文名称对应的拼音简称 规则是:
中文名称的拼音全称的 的首个字符大写  。例如下:中文名称     拼音简称
中国移动     ZGYY 
11中国移动   YYZGYD 
12中国电信   YYZGDX
中国电信     ZGDX 那么错误的记录为:
中国移动     ZGYY 
12中国电信   YYZGDX
请 大侠帮着看看

解决方案 »

  1.   


    就像是  中国移动    简称应该是   ZGYD  而不应该是 ZGYY
    因为中国移动的 拼音是  zhong guo yi dong    取 首字母 大写   应是  ZGYD
      

  2.   

    http://topic.csdn.net/u/20090531/17/9a3a17dd-53d0-44d1-bc12-ac8a3daa78d8.html
      

  3.   

    http://blog.csdn.net/maco_wang/article/details/6290128盗用叶子大哥的博客 啊
      

  4.   

    这个和楼主需求不符合,这个是全拼,楼主要的是首字母。建议参考这个:
    http://blog.csdn.net/maco_wang/article/details/6260301
      

  5.   


    --创建取汉字首字母函数(第三版)
    create function [dbo].[f_getpy_V3]
    (
    @Str varchar(500)=''
    )
    returns varchar(500)
    as
    begin
        declare @i int set @i=1
        while (@i<10)
        begin
    set @str=replace(@str,ltrim(@i),substring('一二三四五六七八九',@i,1))
    set @i=@i+1
        end
        declare @strlen int,@return varchar(500),@ii int
        declare @n int,@c char(1),@chn nchar(1)
        select @strlen=len(@str),@return='',@ii=0
        set @ii=0
        while @ii<@strlen
        begin
           select @ii=@ii+1,@n=63,@chn=substring(@str,@ii,1)
           if @chn>'z'
           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='a'
           set @return=@return+@c
        end
        return(@return)
    enddeclare @T table (中文名称 varchar(10),拼音简称 varchar(6))
    insert into @T
    select '中国移动','ZGYY' union all
    select '11中国移动','YYZGYD' union all
    select '12中国电信','YYZGDX' union all
    select '中国电信','ZGDX'select *,正确简称=
    [dbo].[f_getpy_V3](中文名称) from @T
    /*
    中文名称       拼音简称   正确简称
    ---------- ------ --------------------
    中国移动       ZGYY   ZGYD
    11中国移动     YYZGYD YYZGYD
    12中国电信     YYZGDX YEZGDX
    中国电信       ZGDX   ZGDX
    */