mysql数据库中查询汉字的拼音首字母
本人提供的方法有如下特点:
1.代码精简,使用简单,只要会基本的SQL语句就行
2.不用建立mysql 函数等复杂的东西
3.汉字库最全,可查询20902个汉字
方法如下:
1、建立拼音首字母资料表
Sql代码:(最好再加上主键和索引)
- DROP TABLE IF EXISTS `pinyin`;
- CREATE TABLE `pinyin` (
- `PY` varchar(1),
- `HZ1` varchar(1),
- `HZ2` varchar(1)
- ) ;
- INSERT INTO `pinyin` (`PY`,`HZ1`,`HZ2`) VALUES
- ('A','吖','驁'),
- ('B','八','簿'),
- ('C','嚓','錯'),
- ('D','咑','鵽'),
- ('E','妸','樲'),
- ('F','发','鰒'),
- ('G','猤','腂'),
- ('H','妎','夻'),
- ('J','丌','攈'),
- ('K','咔','穒'),
- ('L','垃','鱳'),
- ('M','嘸','旀'),
- ('N','丆','桛'),
- ('O','噢','漚'),
- ('P','妑','曝'),
- ('Q','七','囕'),
- ('R','呥','鶸'),
- ('S','仨','蜶'),
- ('T','他','籜'),
- ('W','屲','鶩'),
- ('X','夕','鑂'),
- ('Y','丫','韻'),
- ('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
mysql数据库中查询汉字的拼音首字母的更多相关文章
- (转载)delphi中获取汉字的拼音首字母
delphi中获取汉字的拼音首字母1.py: array[216..247] of string = ({216}'CJWGNSPGCGNESYPB' + 'TYYZDXYKYGTDJNMJ' + ' ...
- php查询汉字的拼音首字母的函数
function getfirst($str, $charset='utf8'){ $dict=array( 'a'=>0xB0C4, 'b'=& ...
- 汉字转拼音首字母的java实现
工作中经常会遇到的一些排序问题,比如 按汉字的拼音首字母排序,比如人名排序等,就要用到下面的方法了,思路: 1. 获得汉字 2. 将汉字转换成首字母,并记录下(必要时保存到数据库) 3. 按首字母进行 ...
- 简单测试--C#实现中文汉字转拼音首字母
第一种: 这个是自己写的比较简单的实现方法,要做汉字转拼音首字母,首先应该有一个存储首字母的数组,然后将要转拼音码的汉字与每个首字母开头的第一个汉字即“最小”的汉字作比较,这里的最小指的是按拼音规则比 ...
- C#获取包括一二级汉字的拼音 首字母
C#获取包括一二级汉字的拼音 首字母 声母 汉字拼音转换 using System; using System.Collections.Generic; using System.Linq; usin ...
- js汉字转拼音首字母
js汉字转拼音首字母 2018-04-09 阅读 1018 收藏 1 原链:segmentfault.com 分享到: 前端必备图书<JavaScript设计模式与开发实践> > ...
- C# 获取汉字的拼音首字母和全拼(含源码)
C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母.碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手 ...
- 获取汉字的拼音首字母--pinyin
var pinyin = (function (){ var Pinyin = function (ops){ this.initialize(ops); }, options = { checkPo ...
- SqlServer 汉字转换拼音首字母函数
CREATE function [dbo].[Func_GetPY](@str nvarchar(4000))returns nvarchar(4000)asbegin set @str=RTRIM( ...
随机推荐
- lintcode:Wiggle Sort II
Wiggle Sort II Given an unsorted array nums, reorder it such that nums[0] < nums[1] > nums[2] ...
- AngularJS学习笔记1——什么是AngularJS?
Angular JS是一个由Google维护的开源的Javascript框架,主要作者为: Misko Hevery(angular JS之父, Sr. Computer Scientist at G ...
- netbeans使用
下载地址 https://netbeans.org/downloads/ https://netbeans.org/downloads/start.html?platform=linux&la ...
- outlook圆角table
<table cellpadding="0" cellspacing="0" border="0" width="800&q ...
- Android TextView 文字居中
有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:m_TxtTitle.setGravity( ...
- java socket实现全双工通信
java socket实现全双工通信 单工.半双工和全双工的定义 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工. 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方 ...
- Recover Binary Search Tree-恢复二叉查找树
题目描述: 由于某种原因一个二叉排序树的两个节点的元素被交换,在不改变树的结构的情况下恢复这颗二叉排序树 题目来源: http://oj.leetcode.com/problems/recover-b ...
- Scala模式匹配和类型系统
1.模式匹配比java中的switch case强大很多,除了值,类型,集合等进行匹配,最常见的Case class进行匹配,Master.scala有大量的模式匹配. Case "_&qu ...
- laravel Event执行顺序
laravel一大特色就是event事件系统.一般首先要listen一个事件,随后fire那个事件,这时执行路径将会调用event handler,返回后继续执行.例如: Event::listen( ...
- Qt之等待提示框(QPropertyAnimation)
简述 之前分享过QLabel可以通过QMovie播放gif图片,可以实现等待提示框,今天主要使用动画QPropertyAnimation来进行实现! 数据加载的时候,往往都需要后台线程进行数据请求,而 ...