zoukankan      html  css  js  c++  java
  • mysql数据库中查询汉字的拼音首字母

    本人提供的方法有如下特点:

    1.代码精简,使用简单,只要会基本的SQL语句就行
    2.不用建立mysql 函数等复杂的东西
    3.汉字库最全,可查询20902个汉字

    方法如下:

    1、建立拼音首字母资料表
    Sql代码:(最好再加上主键和索引)

    1. DROP TABLE IF EXISTS `pinyin`;  
    2. CREATE TABLE `pinyin` (        
    3.       `PY` varchar(1),        
    4.       `HZ1` varchar(1),     
    5.       `HZ2` varchar(1)  
    6. ) ;    
    7.   
    8. INSERT   INTO   `pinyin`   (`PY`,`HZ1`,`HZ2`)   VALUES  
    9. ('A','吖','驁'),  
    10. ('B','八','簿'),  
    11. ('C','嚓','錯'),  
    12. ('D','咑','鵽'),  
    13. ('E','妸','樲'),  
    14. ('F','发','鰒'),  
    15. ('G','猤','腂'),  
    16. ('H','妎','夻'),  
    17. ('J','丌','攈'),  
    18. ('K','咔','穒'),  
    19. ('L','垃','鱳'),  
    20. ('M','嘸','旀'),  
    21. ('N','丆','桛'),  
    22. ('O','噢','漚'),  
    23. ('P','妑','曝'),  
    24. ('Q','七','囕'),  
    25. ('R','呥','鶸'),  
    26. ('S','仨','蜶'),  
    27. ('T','他','籜'),  
    28. ('W','屲','鶩'),  
    29. ('X','夕','鑂'),  
    30. ('Y','丫','韻'),  
    31. ('Z','帀','咗');  

    执行后检查添加的表中的数据记录是否有“?”问号,如果有则表示数据库编码有问题。
    2、查询数据库表中汉字首字拼音字母
    SELECT `pinyin`.py, `相应表` . *
    FROM `相应表` , `pinyin`
    WHERE `汉字标题` >= `hz1`
    AND `汉字标题` <= `hz2` ;
    也可以直接查询汉字的首字拼音字母
    SELECT `pinyin`.py
    FROM `pinyin`
    WHERE '汉字' >= `hz1`
    AND '汉字' <= `hz2` ;
    查询结果是"H "

    ****注意****
    此方法只适用于gbk的编码,其他的编码需要先转换成gbk的,可以用convert(words using gbk)

    还可以用函数处理
    CREATE   FUNCTION   firstPY(words   varchar(255))   RETURNS   mediumtext  
      BEGIN  
                declare   fpy   char(1);  
                declare   pc   char(1);  
                declare   cc   char(4);  
                set   @fpy   =   UPPER(left(words,1));  
                set   @pc   =   (CONVERT(@fpy   USING   gbk));  
                set   @cc   =   hex(@pc);  
                if   @cc   >=   "8140"   and   @cc   <="FEA0"   then  
                          begin  
                                    select   py   into   @fpy   from   pinyin   where   hz2>=@pc   and hz1<=@pc;  
                          end;  
                end   if;  
                Return   @fpy;  
      END  

  • 相关阅读:
    css flex布局应用
    Java 中 List、HashTable、HashMap、TreeMap
    Java 面向对象的三大特征
    Java-冒泡排序算法
    单例模式- 实现方式
    Mac
    Appium DesiredCapabilities 参数设置
    Mac- appium 环境配置
    PHP安装+使用
    mac 安装protobuf,并编译
  • 原文地址:https://www.cnblogs.com/wayne173/p/3745952.html
Copyright © 2011-2022 走看看