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  

  • 相关阅读:
    关于自己主动化部署
    浅析概率中的频率学派观点和贝叶斯学派观点
    使用javascript实现浏览器全屏
    扩展BootstrapTable的treegrid功能
    jQuery Validate验证框架详解
    将数据库返回的ResultSett转换成List装Map形式的方法(ResultSetToList)
    在maven项目结构下对于Resources目录下文件的存取
    原生sql的各种问题
    nutz 自定义sql的使用
    (转)微服务架构 互联网保险O2O平台微服务架构设计
  • 原文地址:https://www.cnblogs.com/wayne173/p/3745952.html
Copyright © 2011-2022 走看看