zoukankan      html  css  js  c++  java
  • 得到汉字的首拼音字符 ZT

    原出处不详  修改后的版本

    Create  FUNCTION  GetPYFirst
    (@str varchar(500) = '')
    RETURNS varchar(500)
    ---WITH ENCRYPTION
    AS
    BEGIN
     Declare @strlen int,
      @return varchar(500),
      @ii int,
      @c char(1),
      @chn nchar(1)
     --//初始化变量
     Declare @pytable table(
     chn char(2) COLLATE Chinese_PRC_CS_AS NOT NULL,
     py char(1) COLLATE Chinese_PRC_CS_AS NULL,
     PRIMARY KEY (chn)
       )
     insert into @pytable values('吖', 'A')
     insert into @pytable values('八', 'B')
     insert into @pytable values('嚓', 'C')
     insert into @pytable values('咑', 'D')
     insert into @pytable values('妸', 'E')
     insert into @pytable values('发', 'F')
     insert into @pytable values('旮', 'G')
     insert into @pytable values('铪', 'H')
     insert into @pytable values('丌', 'I')
     --insert into @pytable values('丌', 'J')
     insert into @pytable values('咔', 'K')
     insert into @pytable values('垃', 'L')
     insert into @pytable values('嘸', 'M')
     insert into @pytable values('拏', 'N')
     insert into @pytable values('噢', 'O')
     insert into @pytable values('妑', 'P')
     insert into @pytable values('七', 'Q')
     insert into @pytable values('呥', 'R')
     insert into @pytable values('仨', 'S')
     insert into @pytable values('他', 'T')
     insert into @pytable values('屲', 'U')
     --insert into @pytable values('屲', 'V')
     --insert into @pytable values('屲', 'W')
     insert into @pytable values('夕', 'X')
     insert into @pytable values('丫', 'Y')
     insert into @pytable values('帀', 'Z')
     select @strlen = len(@str), @return = '', @ii = 0
     --//循环整个字符串,用拼音的首字母替换汉字
     while @ii < @strlen
     begin
      select @ii = @ii + 1, @chn = substring(@str, @ii, 1)
      if @chn > 'z' --//检索输入的字符串中有中文字符
       SELECT @c = max(py)
       FROM @pytable
       where chn <= @chn
      else
       set @c=@chn
     
      set @return=@return+@c
     end
     return @return
    END


    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS ON
    GO

  • 相关阅读:
    A B
    hdu 4656 Evaluation [任意模数fft trick]
    bzoj 3451: Tyvj1953 Normal [fft 点分治 期望]
    bzoj 3509: [CodeChef] COUNTARI] [分块 生成函数]
    hdu 5730 Shell Necklace [分治fft | 多项式求逆]
    hdu 4609 3-idiots [fft 生成函数 计数]
    UVA 12633 Super Rooks on Chessboard [fft 生成函数]
    Codeforces Round #410 (Div. 2)
    形式幂级数 [学习笔记]
    Python 字符串前面加u,r,b,f的含义
  • 原文地址:https://www.cnblogs.com/bigmouthz/p/822000.html
Copyright © 2011-2022 走看看