MySQL实现查询汉字的拼音首字母

MySQL实现查询汉字的拼音首字母

ID:37848924

大小:22.39 KB

页数:4页

时间:2019-06-01

MySQL实现查询汉字的拼音首字母_第1页
MySQL实现查询汉字的拼音首字母_第2页
MySQL实现查询汉字的拼音首字母_第3页
MySQL实现查询汉字的拼音首字母_第4页
资源描述:

《MySQL实现查询汉字的拼音首字母》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MySQL实现查询汉字的拼音首字母时间:2010-04-0612:23:22  类别:技术  访问:1,314views   RSS2.0   评论  其实最好的方法还是用PHP来取拼音首字母,在MySQL里新建一个字段来存放php里查询汉字的拼音首字母已经有很多参考的代码了。现在给出在mysql里实现的,测试环境是mysql-5.0.27-win321、建立拼音首字母资料表DROP  TABLE  IF  EXISTS  `pyk`;    CREATE  TABLE  `pyk`  (      `PY`  varchar(1)  ,    

2、  `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), ('H',-17922,-17418),          ('J',-174

3、17,-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,-13

4、319),          ('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_

5、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 ;数据库类型如果是GBK的时候,这个函数好像有点小问题,稍微改动了下,貌似可以在GBK中使用了delimiter $$DROP

6、 FUNCTION IF EXISTS `hzcode`$$CREATE FUNCTION `hzcode` (s CHAR(255)) RETURNS char     BEGIN         DECLARE hz_code int;         DECLARE hz_py char;         declare str varchar(400);         SET hz_code = ord(substring(s,1,1))-65536 ;         select py into hz_py from pyk whe

7、re  hz_code>=pyk.hz1 and hz_code<=pyk.hz2;                 RETURN hz_py;      END$$    delimiter $$3、先测试一下mysql>selecthzcode('南海龙王');+--------------------+

8、hzcode('南海龙王')

9、+--------------------+

10、N

11、+--------------------+1rowinset(0.00sec)4、建立个测试表DROP  TABLE  IF  EXISTS  `f1`;cr

12、eate table f1 ( name varchar(30), pykey varchar(1) ); insert into f1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。