《mysql实现查询汉字的拼音首字母》由会员分享,可在线阅读,更多相关《mysql实现查询汉字的拼音首字母(4页珍藏版)》请在金锄头文库上搜索。
1、MySQL 实现查询汉字的拼音首字母时间:2010-04-06 12:23:22 类别:技术 访问:1,314 views RSS 2.0 评论 其实最好的方法还是用 PHP 来取拼音首字母,在 MySQL 里新建一个字段来存放php 里查询汉字的拼音首字母已经有很多参考的代码了。现在给出在 mysql 里实现的, 测试环境是 mysql-5.0.27-win321、建立拼音首字母资料表、建立拼音首字母资料表DROP TABLE IF EXISTS pyk; CREATE TABLE pyk ( PY varchar(1) , HZ1 int ,HZ2 int ) ;INSERT INTO p
2、yk (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), (H,-17922,-17418), (J,-17417,-16475), (K,-16474,-16213), (L,-16212,-15641), (M,-15640,-15166), (N,-15165,-14923), (O,-14922,-14915), (P,-14914,-14
3、631), (Q,-14630,-14150), (R,-14149,-14091), (S,-14090,-13319), (T,-13318,-12839), (W,-12838,-12557), (X,-12556,-11848), (Y,-11847,-11056), (Z,-11055,-10247);2、建立、建立 mysql 函数函数DROP FUNCTION IF EXISTS hzcode;delimiter /CREATE FUNCTION hzcode (s CHAR(255) RETURNS charBEGINDECLARE hz_code int;DECLARE hz
4、_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.hz1 and hz_code select hzcode(南海龙王);+-+| hzcode(南海龙王) |+-+| N |+-+1 row in set (0.00 sec)4、建立个测试表、建立个测试表DROP TABLE IF EXISTS f1;create table f1 (name varcha
5、r(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)Ro
6、ws matched: 5 Changed: 5 Warnings: 0mysql select * from f1;+-+-+| name | pykey |+-+-+| 张三 | Z | 李四 | L | 王五 | W | 赵六 | Z | 钱七 | Q |+-+-+5 rows in set (0.00 sec)这样就很方便地在 MYSQL 里查询汉字的首字母了。 类似地也可以直接在 MYSQL 得到汉字拼音。 不过需要拼音表,函数写法也不一样。Incoming search terms:php mysql 首字母mysql 拼音首字母mysql mysql 汉字首字母mysql 拼音首字母搜索mysql 汉字 拼音拼音 mysql 查询mysql 拼音mysql 查询汉字首字母Tags: mysql, 拼音, 首字母本文地址: http:/