• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql 中如何取得汉字字段的各汉字首字母

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql添加字段,mysql增加字段,mysql修改字段类型,mysql删除字段,mysql update多个字段等相关知识,希望本文的分享对您有所帮助
DROP FUNCTION IF EXISTS `getPY`; 
DELIMITER ;; 
CREATE FUNCTION `getPY`(in_string VARCHAR(65534)) RETURNS mediumtext CHARSET utf8 
BEGIN 
DECLARE tmp_str VARCHAR(65534) charset gbk DEFAULT '' ; #截取字符串,每次做截取后的字符串存放在该变量中,初始为函数参数in_string值 
DECLARE tmp_len SMALLINT DEFAULT 0;#tmp_str的长度 
DECLARE tmp_char VARCHAR(2) charset gbk DEFAULT '';#截取字符,每次 left(tmp_str,1) 返回值存放在该变量中 
DECLARE tmp_rs VARCHAR(65534) charset gbk DEFAULT '';#结果字符串 
DECLARE tmp_cc VARCHAR(2) charset gbk DEFAULT '';#拼音字符,存放单个汉字对应的拼音首字符 
SET tmp_str = in_string;#初始化,将in_string赋给tmp_str 
SET tmp_len = LENGTH(tmp_str);#初始化长度 
WHILE tmp_len > 0 DO #如果被计算的tmp_str长度大于0则进入该while 
SET tmp_char = LEFT(tmp_str,1);#获取tmp_str最左端的首个字符,注意这里是获取首个字符,该字符可能是汉字,也可能不是。 
SET tmp_cc = tmp_char;#左端首个字符赋值给拼音字符 
IF LENGTH(tmp_char)>1 THEN#判断左端首个字符是多字节还是单字节字符,要是多字节则认为是汉字且作以下拼音获取,要是单字节则不处理。 
SELECT ELT(INTERVAL(CONV(HEX(tmp_char),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC 
,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA ,0xCEF4,0xD1B9,0xD4D1), 
'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z') INTO tmp_cc; #获得汉字拼音首字符 
END IF; 
SET tmp_rs = CONCAT(tmp_rs,tmp_cc);#将当前tmp_str左端首个字符拼音首字符与返回字符串拼接 
SET tmp_str = SUBSTRING(tmp_str,2);#将tmp_str左端首字符去除 
SET tmp_len = LENGTH(tmp_str);#计算当前字符串长度 
END WHILE; 
RETURN tmp_rs;#返回结果字符串 
END;; 
DELIMITER ;
</div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MySQL 替换某字段内部分内容的UPDATE语句
  • MySQL表字段设置默认值(图文教程及注意细节)
  • mysql中合并两个字段的方法分享
  • 在MySQL字段中使用逗号分隔符的方法分享
  • mysql合并多条记录的单个字段去一条记录编辑
  • 批量替换 MySQL 指定字段中的字符串
  • MySql表、字段、库的字符集修改及查看方法
  • MySQL 中查找含有目标字段的表的方法
  • mysql中的保留字段产生的问题
  • Mysql字符串字段判断是否包含某个字符串的2种方法

相关文章

  • 2018-12-05oracle—SQL技巧之(一)连续记录查询sql案例测试
  • 2018-12-05MySQL MMM 高可用解决方案
  • 2018-12-05浅谈MySQL漂流记(三)
  • 2018-12-05什么是Mysql中的视图?对Mysql中视图的详解
  • 2018-12-05了解mysql中select语句操作实例
  • 2017-05-11一些mysql启动参数的说明和优化方法
  • 2017-05-11解析SQLite中的常见问题与总结详解
  • 2018-12-05总结关于特定类型查询注意点
  • 2018-12-05数据库清除日志文件(LDF文件过大)
  • 2018-12-05关于MySQL innodb_autoinc_lock_mode的详细介绍

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 批量杀死MySQL连接的四种方法详解
    • mysql_fetch_field函数实例用法总结
    • 高性能MySQL-特定类型查询的优化详解
    • 在程序中压缩sql server2000的数据库备份文件的代码
    • mysql 服务意外停止1067错误解决办法小结
    • MySQL基础教程1 — 数据类型之数值类型
    • MySQL 分表优化试验代码
    • php后台经常提示无法连接mysql 刷新后又可以访问的解决方法
    • MySQL高级十二——索引
    • MySQL中3种清除binlog的方法!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有