1 创建拼音和汉字的关系表
创建表
Table Create Table
-------------- ---------------------------------------------
cs_char2letter CREATE TABLE `cs_char2letter` (
`PY` char(1) character set utf8 NOT NULL,
`HZ` char(1) NOT NULL default '',
PRIMARY KEY (`PY`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk
插入数据
truncate table cs_char2letter;
set names utf8;
insert into cs_char2letter values
('A','骜'),
('B','簿'),
('C','错'),
('D','鵽'),
('E','樲'),
('F','鳆'),
('G','腂'),
('H','夻'),
('J','攈'),
('K','穒'),
('L','鱳'),
('M','旀'),
('N','桛'),
('O','沤'),
('P','曝'),
('Q','囕'),
('R','鶸'),
('S','蜶'),
('T','箨'),
('W','鹜'),
('X','鑂'),
('Y','韵'),
('Z','咗');
3、取拼音首字母的函数:
DELIMITER //
DROP FUNCTION IF EXISTS `test`.`func_get_first_letter`//
CREATE DEFINER=`root`@`localhost` FUNCTION `func_get_first_letter`(
words varchar(255)) RETURNS char(1) CHARSET utf8
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 from cs_char2letter where hz>=@pc limit 1 into @fpy;
end;
end if;
Return @fpy;
END//
DELIMITER ;
4 测试结果:
select func_get_first_letter('我是月亮')
5 创建测试表
DROP TABLE IF EXISTS `f1`;
create table f1 (
name varchar(30),
pykey varchar(1)
);
insert into f1(name) values
('张三'),
('李四'),
('王五'),
('赵六'),
('钱七');
6 批量替换
update f1 set pykey = func_get_first_letter(name);
分享到:
相关推荐
使用MySQL函数,实现获取汉字拼音首字母。在SQL语句中传入汉字返回对应的首字母
Mysql 汉字转拼音首字母,使用方式: 运行后生成一个表 一个函数 ,SELECT getPY("龍的传人");查询结果为LDCR。 不支持多音字。
在数据库表中没有录入汉字对应的拼音首字母的情况下,进行汉字拼音首字母搜索,下载文本后 直接在mysql中执行,后就可实现根据拼音搜索功能
这种脚本的目的是方便在MySQL数据库中存储和查询汉字的拼音首字母,这对于处理中文信息,如搜索优化、拼音转换等场景非常有用。 GBK编码是一种双字节编码系统,每个汉字由两个字节表示。在GBK字典中,每个汉字都有...
代码如下: select areaName from area order by convert(areaName USING gbk) COLLATE gbk_... 您可能感兴趣的文章:mysql的中文数据按拼音排序的2个方法mysql如何按照中文排序解决方案MySQL按照汉字的拼音排序简单实例
标题“数据库获取中文首字母自定义函数(字母查汉字模糊查询)”指的是在数据库系统中定义一个函数,该函数能接受用户输入的英文首字母,然后返回所有以该首字母为拼音首字母的中文字段。这种功能对于具有大量中文...
#获取字符的编码范围的位置,为了确认汉字拼音首字母是那一个 SET tmp_loc=INTERVAL(CONV(HEX(tmp_char),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC ,0xC2E8,0xC4C3,0xC...
2. 中文输入法:根据用户输入的拼音首字母快速给出候选词。 3. 数据分析:对中文文本进行统计分析,比如计算词频、挖掘关键词等。 4. 教育软件:帮助学生学习拼音,提供发音练习。 5. 语音识别系统:将语音转化为...
`fristPinyin`函数的主要作用是获取一个中文字符串的第一个汉字的拼音首字母。它首先通过`CONVERT`函数将中文字符转换为GBK编码格式,然后提取第一个字节的十六进制值。通过`INTERVAL`函数判断这个值在哪个汉字拼音...
为了能够提取汉字的首字母,我们首先需要创建一个映射表,该表存储了常用汉字与其拼音首字母之间的对应关系。创建表的SQL语句如下: ```sql CREATE TABLE `cs_char2letter` ( `PY` char(1) CHARACTER SET utf8 NOT...
MySQL中文拼音数据库(6565字,全拼+首字母(大小写均有)) 里面的文件内容大体是这个样子的。(压缩包中包含sql文件,可以直接导入) INSERT INTO `hs_pinyin` VALUES (3, '在', 'zai', 'z', 'Z'); INSERT INTO `...
这两个文件很可能分别包含了实现汉字全拼查询和首字母查询的SQL脚本。`汉字全拼.sql`可能包含了一个函数或视图,用于获取汉字的完整拼音,而`汉字首字母.sql`则可能提供了一个获取汉字首字母的功能。 在实现这些...
它的实现基于GBK编码,因为GBK编码中,汉字的编码值与其拼音首字母有一定的对应关系。函数通过计算GBK编码的十进制值,并将其与预定义的GBK码段区间进行比较,从而确定对应的首字母。例如,对于字符串"中国人",它会...
通过`HEX()`函数将字符转换为16进制表示,然后用`CONV()`函数将其转换为10进制,再通过`INTERVAL`函数判断这个数字在哪个汉字范围内,从而映射到相应的拼音首字母(A到Z)。 使用`ELT()`函数,根据汉字的10进制编码...
常用汉字
GBK编码下,查询汉字的汉语拼音的首字母的MySQL数据库脚本,直接导入数据库,一共存在3个字段,其中zi与jian_pin是主要的。请使用GBK
1. **创建拼音查找表**:首先,你需要一个包含所有汉字及其拼音首字母的表,通常这个表会包含两列,一列是汉字,一列是对应的拼音首字母。这样的表可以通过第三方工具生成或者手动创建。 2. **联接查询**:在查询时...
每个汉字的拼音首码是其拼音的首字母,例如“计算机”的拼音首码是“jsj”。在数据库中,通过拼音首码可以快速定位到包含特定拼音的汉字,提高数据检索速度。对于大型数据库,这种快速检索方法尤其重要,因为它可以...