本人提供的方法有如下特点:
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`.pyFROM `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