mysql查询汉字拼音首字母_MySQL查询汉字的拼音首字母实例教程
最好的方法还是用 PHP 来取拼音首字母,在 MySQL 里新建一个字段来存放
php 里查询汉字的拼音首字母已经有很多参考的代码了。
现在给出在mysql 里实现的, 测试环境是mysql-5.0.27-win32
1、建立拼音首字母资料表
复制代码 代码示例:
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),
('H',-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),
('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 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 ;
数 据库类型如果是GBK的时候,这个函数好像有点小问题,稍微改动了下,貌似可以在GBK中使用了
delimiter $$
DROP 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 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、建立个测试表
复制代码 代码示例:
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得到汉字拼音。 不过需要拼音表,函数写法也不一样。
mysql查询汉字拼音首字母_MySQL查询汉字的拼音首字母实例教程相关推荐
- mysql select 查询选后5个_mysql 查询select语句汇总
数据准备: 创建表: create table students( id int unsigned primary key auto_increment not null, name varchar( ...
- mysql查询的结果拼接字符串_MySql查询结果拼接成字符串
背景:做SQL查询时会经常需要,把查询的结果拼接成一个字符串. 解决方法: 通过 group_concat 函数 1.正常查询 如下: select id result from ctp_enum_i ...
- mysql中日期判断的函数_MySql判断汉字、日期、数字的函数
几个平常用的mysql函数 /***************************************************** 1.判断字符串是否为汉字 返回值:1-汉字 0-非汉字 *** ...
- mysql 汉字首字母_MySQL查询汉字拼音首字母的方法
下面为您介绍了MySQL查询汉字拼音首字母的方法,该方法极具实用价值,如果您之前遇到过类似方面的问题,不妨一看. MySQL查询汉字拼音首字母方法如下: 1.建立拼音首字母资料表 Sql代码: DRO ...
- mysql汉字转拼音首字母_MySQL中文汉字转拼音的自定义函数和使用实例(首字的首字母)...
fristPinyin : 此函数是将一个中文字符串的第一个汉字转成拼音字母 (例如:"中国人"->Z) CREATE FUNCTION `fristPinyin`(P_NA ...
- mysql 查看某个表缓存情况_MySQL 查询缓存 QUERY_CACHE
保存查询返回的完整结果.当查询命中该缓存,MySQL会立即返回结果,跳过解析.优化和执行阶段. 官方在特定环境测试结果(官方文档中有详细说明): 1.如果对某表进行简单查询,但每次查询条件都不一样时, ...
- mysql查询为0的值_MySql查询整型字段空字符时出现为0的数据
表结构: -- 表的ddl CREATE TABLE `user_desc` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` varchar(2 ...
- mysql查询特定时间数据视频_mysql查询特定时间段内的数据
参照文章(mysql查询时间段内数据)进行了操作. 先来建表语句: [sql] view plaincopySETFOREIGN_KEY_CHECKS=0;-- ------------------- ...
- mysql表中有重复的元组_MySQL查询找到重复的元组并显示计数?
要查找重复的元组,请使用GROUP BY HAVING子句.让我们首先创建一个表-mysql> create table DemoTable -> ( -> Id int, -> ...
最新文章
- st7789v tft 驱动电路_图解宁波博信出品的KEEWAY摩托车数字仪表盘,附测绘的电路图...
- [django]模板中自定义变量django模板中的变量
- 用户空间和内核空间通讯Netlink
- 关于JavaScript相关文章
- 容器源码解析之LinkedHashMap(九)
- java 网络编程 方式_JAVA网络编程
- telnet IP不通/sybase central工具无法连接到数据库
- iframe之间操作记录
- 【实施自动化测试项目】的7大必备条件!那些我踩过的坑......
- oracle dbms 存放位置,系统统计信息的保存位置
- Hadoop学习笔记一:单节点安装
- QT 实现 RTSP 视频流服务器
- 凡泰极客:远程办公,你礼貌吗?
- 微信小程序开发学习小结之tabBar组件
- 万字长文带你玩转2020全国大学生计算机技能应用大赛—C语言模考整理解析
- 《通往财富自由之路》学习笔记
- envato elements国外设计网站素材代服务包月包年VIP高速下载
- 数据结构精录总结Episode.6 数据结构入门之树(基于Visual C++)
- python将多个txt文件导入一个excel的不同sheet中
- 产品外观设计有哪些表面处理工艺