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( ...
随机推荐
- C连接oracle(PROC*C)
1. 安装oralce 10g 2.建立数据库和用户 配置VS2005环境 proc需要嵌入式环境 在C/C++常规里面加入 D:\oracle\product\10.2.0\db_1\precom ...
- 创业者拿到融资别高兴太早,当心TS中的优先清算权
最近创投圈的新闻读起来真是让人有些绝望啊,一家家创业公司接连宣告倒闭,其中不乏一些走在比较后面的“明星企业”,冷不丁冒出点消息,却是创始人发的公告,宣布公司资金链断裂,进入破产清算程序,或被低价并购. ...
- Android 代码检查工具SonarQube
http://blog.csdn.net/rain_butterfly/article/details/42170601 代码检查工具能帮我们检查一些隐藏的bug,代码检查工具中sonar是比较好的一 ...
- Android消息机制之实现两个不同线程之间相互传递数据相互调用
目的:实现两个不同线程之间相互传递数据相互调用方法. 线程一中定义mainHandler 并定义一个方法mainDecode 线程二中定义twoHandler 并定义一个方法twoEncode 实现当 ...
- J2ee 巴巴网站制作(一)
用户模块图:
- 神经网络:卷积神经网络CNN
一.前言 这篇卷积神经网络是前面介绍的多层神经网络的进一步深入,它将深度学习的思想引入到了神经网络当中,通过卷积运算来由浅入深的提取图像的不同层次的特征,而利用神经网络的训练过程让整个网络自动调节卷积 ...
- linux 配置 wlan 连接
第一步,先确定你已经安装了无线网卡驱动.我的是 ath9k ,linux 内核不自带,现编译成模块 然后安装上.具体步骤请自行搜索 linux 编译内核 第二步,起用模块 modprobe ath9k ...
- cdev、udev
udev :应用层的守护进程,由启动脚本加载,负责建立热拨插的接点 cdev :建立字符设备接口 platform device :相关平台直接总线建立的设备,主要出现需要自己直接挂到平台的时候,因为 ...
- asp开发微信扫码支付
这个任务已经给了.现在正在学习开发中.主要注意的是2点. 1:返回参数的验证. 2:通知后业务处理和处理后返回财付通.大部分操作,api中已经处理好. 现在需要的业务逻辑部分. 需要正确3个参数 r ...
- Java C++ Python PHP JS等各种语言中的INT最值
Java: Integer.MAX_VALUE; Integer.MIN_VALUE; C++ INT_MAX INT_MIN <limit.h> 有些其他头文件也有引用 Python & ...