zoukankan      html  css  js  c++  java
  • 生成汉字助记码

    ALTER FUNCTION getPinYin(@HZ NVARCHAR(4000))
    RETURNS NVARCHAR(4000)
    AS
    BEGIN
    DECLARE @word NCHAR(1)
    DECLARE @PY NVARCHAR(4000)
    SET @PY = ''
    WHILE LEN(@HZ) > 0
      BEGIN
       SET @word = LEFT(@HZ,1)
       SET @PY = @PY + (CASE WHEN UNICODE(@word) BETWEEN 19968 AND 19968+20901
                            THEN (SELECT  TOP 1 PY
                                  FROM ( select 'A' as PY,N'' as word
              union all select 'B',N'簿'
              union all select 'C',N''
              union all select 'D',N''
              union all select 'E',N''
              union all select 'F',N''
              union all select 'G',N''
              union all select 'H',N''
              union all select 'J',N''
              union all select 'K',N''
              union all select 'L',N''
              union all select 'M',N''
              union all select 'N',N''
              union all select 'O',N''
              union all select 'P',N''
              union all select 'Q',N''
              union all select 'R',N''
              union all select 'S',N''
              union all select 'T',N''
              union all select 'W',N''
              union all select 'X',N''
              union all select 'Y',N''
              union all select 'Z',N''
                                       ) T 
                                   WHERE  word>=@word collate Chinese_PRC_CS_AS_KS_WS
                                   order by PY ASC)
                               ELSE @word
                               END
                                )
         SET @HZ = RIGHT(@HZ,LEN(@HZ)-1)
      END
      RETURN @PY
    END
  • 相关阅读:
    翻转链表二
    最短路径算法
    在二叉树中插入节点
    LightOJ 1341
    串的基本操作
    链队列的基本操作
    LightOJ 1370
    poj 3060 Visible Lattice Points
    欧拉函数介绍及简单模板
    zoj 3593 One Person Game
  • 原文地址:https://www.cnblogs.com/armanda/p/3611087.html
Copyright © 2011-2022 走看看