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  

  • 相关阅读:
    shell脚本sed的基本用法
    shell grep的基本用法
    禁止表单提示输入--autocomplete属性
    Cookie操作介绍
    JSP中的两种重定向
    SSM
    题解 P4994 【终于结束的起点】
    题解 P1286 【两数之和】
    题解 P2340 【奶牛会展】
    题解 CF450B 【Jzzhu and Sequences】
  • 原文地址:https://www.cnblogs.com/wayne173/p/3745952.html
Copyright © 2011-2022 走看看