MySQL自定义中文转拼音函数
fristPinyin : 此函数是将一个中文字符串的第一个汉字转成拼音字母
(例如:"中国人"->Z)
CREATE FUNCTION `fristPinyin`(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
BEGIN DECLARE V_RETURN VARCHAR(255); SET V_RETURN = ELT(INTERVAL(CONV(HEX(left(CONVERT(P_NAME USING gbk),1)),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'); RETURN V_RETURN;
END
pinyin :此函数是将一个中文字符串对应拼音母的每个相连
(例如:"中国人"->ZGR)
Sql代码
CREATE FUNCTION `pinyin`(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
BEGIN DECLARE V_COMPARE VARCHAR(255); DECLARE V_RETURN VARCHAR(255); DECLARE I INT; SET I = 1; SET V_RETURN = ''; while I < LENGTH(P_NAME) do SET V_COMPARE = SUBSTR(P_NAME, I, 1); IF (V_COMPARE != '') THEN #SET V_RETURN = CONCAT(V_RETURN, ',', V_COMPARE); SET V_RETURN = CONCAT(V_RETURN, fristPinyin(V_COMPARE)); #SET V_RETURN = fristPinyin(V_COMPARE); END IF; SET I = I + 1; end while; IF (ISNULL(V_RETURN) or V_RETURN = '') THEN SET V_RETURN = P_NAME; END IF; RETURN V_RETURN;
END
- mysql> select p.province, fristPinyin(p.province), pinyin(p.province) from province p;
- +------------------+-------------------------+--------------------+
- | province | fristPinyin(p.province) | pinyin(p.province) |
- +------------------+-------------------------+--------------------+
- | 北京市 | B | BJS |
- | 天津市 | T | TJS |
- | 河北省 | H | HBS |
- | 山西省 | S | SXS |
- | 内蒙古自治区 | N | NMGZZQ |
- | 辽宁省 | L | LNS |
- | 吉林省 | J | JLS |
- | 黑龙江省 | H | HLJS |
- | 上海市 | S | SHS |
- | 江苏省 | J | JSS |
- | 浙江省 | Z | ZJS |
- | 安徽省 | A | AHS |
- | 福建省 | F | FJS |
- | 江西省 | J | JXS |
- | 山东省 | S | SDS |
- | 河南省 | H | HNS |
- | 湖北省 | H | HBS |
- | 湖南省 | H | HNS |
- | 广东省 | G | GDS |
- | 广西壮族自治区 | G | GXZZZZQ |
- | 海南省 | H | HNS |
- | 重庆市 | Z | ZQS |
- | 四川省 | S | SCS |
- | 贵州省 | G | GZS |
- | 云南省 | Y | YNS |
- | 西藏自治区 | X | XCZZQ |
- | 陕西省 | S | SXS |
- | 甘肃省 | G | GSS |
- | 青海省 | Q | QHS |
- | 宁夏回族自治区 | N | NXHZZZQ |
- | 新疆维吾尔自治区 | X | XJWWEZZQ |
- | 台湾省 | T | TWS |
- | 香港特别行政区 | X | XGTBXZQ |
- | 澳门特别行政区 | A | AMTBXZQ |
- +------------------+-------------------------+--------------------+
- 34 rows in set
- mysql>
MySQL自定义中文转拼音函数相关推荐
- PHP中文获取拼音函数
<?php //中文获取拼音函数 /* return String $_String 输入的中文字符 $_Code 输出字符编码类型,默认是UTF-8 */ function pinyin($_ ...
- mysql得到中文的拼音_在MySQL中获取中文的拼音或转换中文替拼音
在MySQL中获取中文的拼音或转换中文为拼音 MySQL ------------------------------------- 分页:select * from xxx limit 0,10 ? ...
- mysql实现中文根据拼音排序
最近项目遇到一个要求,jqueryeasyui中的combobox下拉数据要根据输入的中文拼音排序. 如,输入"北",依次出现"北斗","北京&quo ...
- php mysql 读取中文数据的函数_php读取mysql中文数据出现乱码的解决方法
以下是对php读取mysql中文数据出现乱码问题的解决方法进行了介绍,需要的朋友可以过来参考下 1.PHP页面语言本身的编码类型不合适,这时候,你直接在脚本中写的中文肯定是乱码,不用说数据库了 解决方 ...
- mysql怎么创建文字表_myMySQL数据库 如何将中文转拼音 MySQL数据库使用教程
mysql将中文转拼音的方法:首先创建一个数据库,并创建一张汉字和拼音对照表:然后使用"INSERT INTO t_base_pinyin () VALUES ()"语句来给汉字拼 ...
- mysql5.7中文全文检索,让MySQL支持中文全文检索
因为中文词间并没有明显的区隔,所以中文的分词是按照字典.词库的匹配和词的频度统计,或是基于句法.语法分析的分词,而MySQL并不具备此功能,所以MySQL对中文全文检索的支持几乎为零. 目前很多网站和 ...
- php截取中文第一个字,php中的一个中文字符串截取函数
PHP代码: -------------------------------------------------------------------------------- /** ***@Auth ...
- centos mysql lujin_MySQL中文转换成拼音的函数[zt]
注:如果创建函数出错,试试这个 set global log_bin_trust_function_creators=TRUE; 代码如下 -- 创建汉字拼音对照临时表 CREATE TABLE IF ...
- mysql根据中文拼音分组_【改进篇】使用MySql实现好友昵称按拼音排序或分组
昵称排序顺序要求 大小写英文字母排序排在前面 中文按拼音排序 数字,符号以及emoji符号 后来发现原来的思路是有问题的,参与拼音排序的就只有中文,英文是没有参与排序的,原来的效果: 昵称 Apple ...
最新文章
- 全面分析阿里数据中台,小白也能看懂 | CSDN原力计划
- python编程输入标准-青少年Python编程能力标准等级模拟考试
- 【转】手工导入传输请求(Transport Request)
- 洛谷 - P2444 - 病毒 - AC自动机
- Ane技术大全 - Devil程序员
- libnss mysql_Ubuntu通过LDAP集成AD域账号登录(libnss-ldap方式)
- 指针选择排序法,10个整数从小到大排序
- api-ms-win-crt-runtime-l1-1-0.dll和api-ms-win-downlevel-shlwapi-l1-1-0.dll免费下载
- Python 爬虫---(3)Urllib库使用介绍
- [转载] Python开发系列课程(16) - 进程和线程
- Makefile--基本规则(零)
- 知识点速记 | 本机号码一键登录?
- CrystalReports水晶报表开发中遇到的问题
- Kali渗透测试之五社会工程学
- 世界读书日 | 技术人不要错过的好书(IT前沿技术)
- 卡方检验值转换为P值
- android虚拟器没有菜单,网易MuMu模拟器不显示Menu(菜单)键的解决办法
- Java第十五篇:详解一元二次方程
- Qt 新建文件夹并在该文件夹下新建文件
- 4.16 广推科技现场面试