zoukankan      html  css  js  c++  java
  • 提取每个汉字的首字母

    CREATE FUNCTION f_GetPY(@str nvarchar(4000))
    RETURNS nvarchar(4000)
    AS
    BEGIN
    DECLARE @py TABLE(
    ch char(1),
    hz1 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS,
    hz2 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS)
    INSERT @py SELECT 'A',N'吖',N'鏊'
    UNION ALL SELECT 'B',N'八',N'簿'
    UNION ALL SELECT 'C',N'嚓',N'错'
    UNION ALL SELECT 'D',N'哒',N'跺'
    UNION ALL SELECT 'E',N'屙',N'贰'
    UNION ALL SELECT 'F',N'发',N'馥'
    UNION ALL SELECT 'G',N'旮',N'过'
    UNION ALL SELECT 'H',N'铪',N'蠖'
    UNION ALL SELECT 'J',N'丌',N'竣'
    UNION ALL SELECT 'K',N'咔',N'廓'
    UNION ALL SELECT 'L',N'垃',N'雒'
    UNION ALL SELECT 'M',N'妈',N'穆'
    UNION ALL SELECT 'N',N'拿',N'糯'
    UNION ALL SELECT 'O',N'噢',N'沤'
    UNION ALL SELECT 'P',N'趴',N'曝'
    UNION ALL SELECT 'Q',N'七',N'群'
    UNION ALL SELECT 'R',N'蚺',N'箬'
    UNION ALL SELECT 'S',N'仨',N'锁'
    UNION ALL SELECT 'T',N'他',N'箨'
    UNION ALL SELECT 'W',N'哇',N'鋈'
    UNION ALL SELECT 'X',N'夕',N'蕈'
    UNION ALL SELECT 'Y',N'丫',N'蕴'
    UNION ALL SELECT 'Z',N'匝',N'做'
    DECLARE @i int
    SET @i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
    WHILE @i>0
    SELECT @str=REPLACE(@str,SUBSTRING(@str,@i,1),ch)
    ,@i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
    FROM @py
    WHERE SUBSTRING(@str,@i,1) BETWEEN hz1 AND hz2
    RETURN(@str)
    END
    GO

    SELECT dbo.f_GetPY('阿财说话')

  • 相关阅读:
    记2008年7月25日午后 心情
    [多媒体]词典编码
    [多媒体]算术编码、游程编码
    [多媒体]数据压缩的类型
    [多媒体]理解PCM、DPCM、APCM、ADPCM
    C++异常处理
    [转]linux上SVN解决冲突的办法
    从海量数据查找有或者没有出现的数据
    八数码问题
    [转]linux中强大的screen命令
  • 原文地址:https://www.cnblogs.com/accumulater/p/6145354.html
Copyright © 2011-2022 走看看