• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            在mysql 里實現查詢漢字的拼音首字母(摘)

            在mysql 里實現查詢漢字的拼音首字母
            作者: seakingx  發布日期: 2007-3-10    查看數: 1149   出自: http://www.phpx.com
            php 里查詢漢字的拼音首字母已經有很多參考的代碼了。
            現在給出在mysql 里實現的, 測試環境是mysql-5.0.27-win32

            1、建立拼音首字母資料表
            CODE:
            DROP TABLE IF EXISTS `pyk`;
            CREATE TABLE `pyk` (
            `PY` varchar(1) ,
            `HZ1` int ,
            `HZ2` int
            ) ;

            INSERT INTO `pyk` (`PY`,`HZ1`,`HZ2`) VALUES
            ('A',-20319,-20284),
            ('B',-20283,-19776),
            ('C',-19775,-19219),
            ('D',-19218,-18711),
            ('E',-18710,-18527),
            ('F',-18526,-18240),
            ('G',-18239,-17923),
            ('I',-17922,-17418),
            ('J',-17417,-16475),
            ('K',-16474,-16213),
            ('L',-16212,-15641),
            ('M',-15640,-15166),
            ('N',-15165,-14923),
            ('O',-14922,-14915),
            ('P',-14914,-14631),
            ('Q',-14630,-14150),
            ('R',-14149,-14091),
            ('S',-14090,-13319),
            ('V',-13318,-12839),
            ('W',-12838,-12557),
            ('X',-12556,-11848),
            ('Y',-11847,-11056),
            ('Z',-11055,-10247);

            2、建立mysql 函數
            CODE:
            DROP FUNCTION IF EXISTS hzcode;

            delimiter //

            CREATE FUNCTION hzcode (s CHAR(255)) RETURNS char
            BEGIN
            DECLARE hz_code int;
            DECLARE hz_py char;
            SET hz_code = ord(substring(s,1,1))*256+ord(substring(s,2,1))-65536 ;
            select py into hz_py from pyk where hz_code>=pyk.hz1 and hz_code<=pyk
            .hz2;
            RETURN hz_py;
            END
            //

            delimiter ;

            3、先測試一下
            mysql> select hzcode('南海龍王');
            +--------------------+
            | hzcode('南海龍王') |
            +--------------------+
            | N |
            +--------------------+
            1 row in set (0.00 sec)


            4、建立個測試表
            CODE:
            DROP TABLE IF EXISTS `f1`;
            create table f1 (
            name varchar(30),
            pykey varchar(1)
            );

            insert into f1(name) values
            ('張三'),
            ('李四'),
            ('王五'),
            ('趙六'),
            ('錢七');

            5、測試

            mysql> select * from f1;
            +------+-------+
            | name | pykey |
            +------+-------+
            | 張三 | NULL |
            | 李四 | NULL |
            | 王五 | NULL |
            | 趙六 | NULL |
            | 錢七 | NULL |
            +------+-------+
            5 rows in set (0.00 sec)

            mysql> update f1 set pykey = hzcode(name);
            Query OK, 5 rows affected (0.05 sec)
            Rows matched: 5 Changed: 5 Warnings: 0

            mysql> select * from f1;
            +------+-------+
            | name | pykey |
            +------+-------+
            | 張三 | Z |
            | 李四 | L |
            | 王五 | W |
            | 趙六 | Z |
            | 錢七 | Q |
            +------+-------+
            5 rows in set (0.00 sec)



            這樣就很方便地在MYSQL里查詢漢字的首字母了。 類似地也可以直接在MYSQL得到漢字拼音。 不過需要拼音表,函數寫法也不一樣。

            posted on 2007-06-17 20:26 PeakGao 閱讀(1480) 評論(3)  編輯 收藏 引用

            評論

            # re: 在mysql 里實現查詢漢字的拼音首字母(摘) 2008-03-25 13:28 jgf

            瓜娃子  回復  更多評論   

            # re: 在mysql 里實現查詢漢字的拼音首字母(摘) 2009-02-22 21:51 Hunter Fu

            非常有用,受教拉!  回復  更多評論   

            # re: 在mysql 里實現查詢漢字的拼音首字母(摘) 2009-05-07 13:25 過客

            t開頭的就查不了  回復  更多評論   

            <2007年3月>
            25262728123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            導航

            統計

            常用鏈接

            留言簿(9)

            隨筆分類(67)

            隨筆檔案(65)

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            97久久综合精品久久久综合| 一本色道久久88综合日韩精品 | 国产一级做a爰片久久毛片| 久久久亚洲欧洲日产国码aⅴ| 国产精品久久久久9999高清| 色综合久久综精品| 午夜视频久久久久一区| 久久久久久人妻无码| 久久99精品久久久久久水蜜桃| 亚洲欧美成人久久综合中文网| 亚洲AV成人无码久久精品老人| 成人国内精品久久久久影院VR| 色婷婷久久综合中文久久一本| 久久精品国产亚洲AV香蕉| 久久嫩草影院免费看夜色| 国内精品九九久久久精品| 久久久久国产| 青青青国产成人久久111网站| 久久午夜福利无码1000合集| 91性高湖久久久久| 国内精品久久久久久99蜜桃 | 国内精品久久久久久久亚洲| 国内精品人妻无码久久久影院导航 | yy6080久久| 久久久久无码国产精品不卡| 99久久人妻无码精品系列蜜桃| 久久午夜福利无码1000合集| 久久久久久极精品久久久| 青青青伊人色综合久久| 欧美午夜精品久久久久免费视| 性做久久久久久久久浪潮| 久久久久一本毛久久久| 天天爽天天爽天天片a久久网| 99久久免费国产特黄| 久久精品水蜜桃av综合天堂| 日韩精品久久久久久免费| av色综合久久天堂av色综合在| 一本色道久久88综合日韩精品 | 久久久久久精品免费看SSS| 波多野结衣久久一区二区| 国产aⅴ激情无码久久|