`
viva_yang
  • 浏览: 35759 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

mysql 查询汉字的拼音首字母

阅读更多
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函数实现获取汉字拼音首字母

    使用MySQL函数,实现获取汉字拼音首字母。在SQL语句中传入汉字返回对应的首字母

    Mysql 汉字转拼音首字母

    Mysql 汉字转拼音首字母,使用方式: 运行后生成一个表 一个函数 ,SELECT getPY("龍的传人");查询结果为LDCR。 不支持多音字。

    mysql根据汉字首字母搜索

    在数据库表中没有录入汉字对应的拼音首字母的情况下,进行汉字拼音首字母搜索,下载文本后 直接在mysql中执行,后就可实现根据拼音搜索功能

    GBK汉字拼音首字母字典MYSQL脚本

    这种脚本的目的是方便在MySQL数据库中存储和查询汉字的拼音首字母,这对于处理中文信息,如搜索优化、拼音转换等场景非常有用。 GBK编码是一种双字节编码系统,每个汉字由两个字节表示。在GBK字典中,每个汉字都有...

    mysql如何根据汉字首字母排序

    代码如下: select areaName from area order by convert(areaName USING gbk) COLLATE gbk_... 您可能感兴趣的文章:mysql的中文数据按拼音排序的2个方法mysql如何按照中文排序解决方案MySQL按照汉字的拼音排序简单实例

    数据库获取中文首字母自定义函数(字母查汉字模糊查询)

    标题“数据库获取中文首字母自定义函数(字母查汉字模糊查询)”指的是在数据库系统中定义一个函数,该函数能接受用户输入的英文首字母,然后返回所有以该首字母为拼音首字母的中文字段。这种功能对于具有大量中文...

    mysql首字母拼音搜索title

    #获取字符的编码范围的位置,为了确认汉字拼音首字母是那一个 SET tmp_loc=INTERVAL(CONV(HEX(tmp_char),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC ,0xC2E8,0xC4C3,0xC...

    MySQL中文拼音数据库(6565字,全拼+首字母)

    2. 中文输入法:根据用户输入的拼音首字母快速给出候选词。 3. 数据分析:对中文文本进行统计分析,比如计算词频、挖掘关键词等。 4. 教育软件:帮助学生学习拼音,提供发音练习。 5. 语音识别系统:将语音转化为...

    mysql按姓名首字母搜索.docx

    `fristPinyin`函数的主要作用是获取一个中文字符串的第一个汉字的拼音首字母。它首先通过`CONVERT`函数将中文字符转换为GBK编码格式,然后提取第一个字节的十六进制值。通过`INTERVAL`函数判断这个值在哪个汉字拼音...

    php,mysql取汉字首字母

    为了能够提取汉字的首字母,我们首先需要创建一个映射表,该表存储了常用汉字与其拼音首字母之间的对应关系。创建表的SQL语句如下: ```sql CREATE TABLE `cs_char2letter` ( `PY` char(1) CHARACTER SET utf8 NOT...

    MySQL中文拼音数据库(6565字,全拼+首字母(大小写均有))

    MySQL中文拼音数据库(6565字,全拼+首字母(大小写均有)) 里面的文件内容大体是这个样子的。(压缩包中包含sql文件,可以直接导入) INSERT INTO `hs_pinyin` VALUES (3, '在', 'zai', 'z', 'Z'); INSERT INTO `...

    查询汉字首字母及全拼sql自定义方法

    这两个文件很可能分别包含了实现汉字全拼查询和首字母查询的SQL脚本。`汉字全拼.sql`可能包含了一个函数或视图,用于获取汉字的完整拼音,而`汉字首字母.sql`则可能提供了一个获取汉字首字母的功能。 在实现这些...

    MySQL中文汉字转拼音的自定义函数和使用实例(首字的首字母)

    它的实现基于GBK编码,因为GBK编码中,汉字的编码值与其拼音首字母有一定的对应关系。函数通过计算GBK编码的十进制值,并将其与预定义的GBK码段区间进行比较,从而确定对应的首字母。例如,对于字符串"中国人",它会...

    mysql 中如何取得汉字字段的各汉字首字母

    通过`HEX()`函数将字符转换为16进制表示,然后用`CONV()`函数将其转换为10进制,再通过`INTERVAL`函数判断这个数字在哪个汉字范围内,从而映射到相应的拼音首字母(A到Z)。 使用`ELT()`函数,根据汉字的10进制编码...

    常用汉字拼音数据库汉字数据库mysql

    常用汉字

    GBK汉字首字母 MYSQL

    GBK编码下,查询汉字的汉语拼音的首字母的MySQL数据库脚本,直接导入数据库,一共存在3个字段,其中zi与jian_pin是主要的。请使用GBK

    获得汉字字符串的首字母

    1. **创建拼音查找表**:首先,你需要一个包含所有汉字及其拼音首字母的表,通常这个表会包含两列,一列是汉字,一列是对应的拼音首字母。这样的表可以通过第三方工具生成或者手动创建。 2. **联接查询**:在查询时...

    获取拼音首码和五笔首码

    每个汉字的拼音首码是其拼音的首字母,例如“计算机”的拼音首码是“jsj”。在数据库中,通过拼音首码可以快速定位到包含特定拼音的汉字,提高数据检索速度。对于大型数据库,这种快速检索方法尤其重要,因为它可以...

Global site tag (gtag.js) - Google Analytics