数据库实现汉字首字母简拼全拼
MySQL数据库实现
1.将一个中文字符串的第一个汉字转成拼音字母 (例如:“中国”->Z),包括特殊字符处理,可以进行动态添加
CREATE FUNCTION `fristPinyin`(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
BEGINDECLARE V_RETURN VARCHAR(255);DECLARE V_FIRST_CHAR VARCHAR(255);set V_FIRST_CHAR =UPPER(LEFT(CONVERT(P_NAME USING gbk),1));set V_RETURN = V_FIRST_CHAR;
IF V_FIRST_CHAR in ('(',')','《','》')
THEN SET V_RETURN = '';
elseif LENGTH( V_FIRST_CHAR) <> CHARACTER_LENGTH( V_FIRST_CHAR )then 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');
elseif V_FIRST_CHAR in ('A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0','*','+','-','=','/','\\','{','}','[',']')then SET V_RETURN = V_RETURN;
else SET V_RETURN = '#';
END IF;RETURN IFNULL(V_RETURN,'#');##RETURN LOWER(IFNULL(V_RETURN,'#')); 返回小写
END
运行结果如下:
2.将一个中文字符串的每个汉字首字母转成拼音字母 (例如:“中国”->ZG)
BEGINDECLARE V_COMPARE VARCHAR(255);DECLARE V_RETURN VARCHAR(255);DECLARE I INT;SET I = 1;SET V_RETURN = '';while I < LENGTH(P_NAME) doSET 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 = '') THENSET V_RETURN = P_NAME;END IF;RETURN V_RETURN;
END
运行结果如下:
SQL SERVER数据库实现
将中文字符串中每个中文首字母转换为拼音字母(例如:“中国”->ZG)
--生成拼音首码
ALTER FUNCTION [dbo].[fn_GetPy] (@str nvarchar(4000)) returns nvarchar (4000) --WITH ENCRYPTION
AS
BEGINDECLARE@intLen INT DECLARE@strRet nvarchar (4000) DECLARE@temp nvarchar (100)SET @intLen = len(@str)SET @strRet = ''WHILE @intLen > 0BEGINSET @temp = '' SELECT@temp = CASEWHEN SUBSTRING (@str ,@intLen, 1) >= '帀' THEN'Z'WHEN SUBSTRING (@str ,@intLen, 1) >= '丫' THEN'Y'WHEN SUBSTRING (@str ,@intLen, 1) >= '夕' THEN'X'WHEN SUBSTRING (@str ,@intLen, 1) >= '屲' THEN'W'WHEN SUBSTRING (@str ,@intLen, 1) >= '他' THEN'T'WHEN SUBSTRING (@str ,@intLen, 1) >= '仨' THEN'S'WHEN SUBSTRING (@str ,@intLen, 1) >= '呥' THEN'R'WHEN SUBSTRING (@str ,@intLen, 1) >= '七' THEN'Q'WHEN SUBSTRING (@str ,@intLen, 1) >= '妑' THEN'P'WHEN SUBSTRING (@str ,@intLen, 1) >= '噢' THEN'O'WHEN SUBSTRING (@str ,@intLen, 1) >= '拏' THEN'N'WHEN SUBSTRING (@str ,@intLen, 1) >= '嘸' THEN'M'WHEN SUBSTRING (@str ,@intLen, 1) >= '垃' THEN'L'WHEN SUBSTRING (@str ,@intLen, 1) >= '咔' THEN'K'WHEN SUBSTRING (@str ,@intLen, 1) >= '丌' THEN'J'WHEN SUBSTRING (@str ,@intLen, 1) >= '铪' THEN'H'WHEN SUBSTRING (@str ,@intLen, 1) >= '旮' THEN'G'WHEN SUBSTRING (@str ,@intLen, 1) >= '发' THEN'F'WHEN SUBSTRING (@str ,@intLen, 1) >= '妸' THEN'E'WHEN SUBSTRING (@str ,@intLen, 1) >= '咑' THEN'D'WHEN SUBSTRING (@str ,@intLen, 1) >= '嚓' THEN'C'WHEN SUBSTRING (@str ,@intLen, 1) >= '八' THEN'B'WHEN SUBSTRING (@str ,@intLen, 1) >= '吖' THEN'A'ELSErtrim(ltrim(SUBSTRING(@str ,@intLen, 1)))END --对于汉字特殊字符,不生成拼音码IF (ascii(@temp) > 127)SET @temp = '' --对于英文中小括号,不生成拼音码IF @temp = '('OR @temp = ')'SET @temp = '' SELECT@strRet = @temp + @strRetSET @intLen = @intLen - 1END RETURN UPPER (@strRet)END
运行结果如下:
数据库实现汉字首字母简拼全拼相关推荐
- Python3操作EXCEL,取汉字首字母,拼接全拼
开发需求: 将EXCEL中某列特殊字符之前的汉字取首字母,特殊字符之后的汉字取全拼,然后用下划线"_"相连,写入下一列 把*******.xls中的汉字人名转成用户名,写到后面的单 ...
- 实现下拉框的汉字、拼音、首字母大小写,全拼检索选项
调用这个工具类,可以实现下拉框的汉字.拼音.首字母大小写,全拼检索选项 import java.util.Arrays;import net.sourceforge.pinyin4j.PinyinHe ...
- JS实现获取汉字首字母拼音、全拼音及混拼音的方法
本文实例讲述了JS实现获取汉字首字母拼音.全拼音及混拼音的方法.分享给大家供大家参考,具体如下: 这里需要用到一个js获取汉字拼音的插件,可点击此处本站下载. 运行效果如下: 完整示例代码: ? 1 ...
- mysql全拼_mysql数据库汉字首字母简拼全拼
汉字提取首字母 fristPinyin : 此函数是将一个中文字符串的第一个汉字转成拼音字母 (例如:"李"->l),包括特殊字符处理,可以进行动态添加 CREATE FUN ...
- C# 根据汉字获取首字母拼音或全拼
第一种方法.简单快速 若是求快,可以用下面这个方法,不需要什么库,直接写就完事 调用GetPYstring ,传入"世界和平",返回"SJHP" public ...
- mysql 汉字字母拼音_mysql 汉字按拼音字母排序、获取拼音首字母、拼音全拼
一.汉字utf-8 转gbk排序 ORDER BY CONVERT(city_name USING gbk) 二.获取词语拼音首字母 创建函数 CREATE FUNCTION `firstPinyin ...
- 关键字的首字母拼音和全拼搜索
/*** @author ChineseSpelling* 所有全拼集合 汉字转拼音 使用工具类*/ public class ChineseSpelling {private static int[ ...
- java实现大段中文转拼音首字母、拼音全拼
话不多说,上代码: package cn.jiangshuai.personManage;import java.util.Scanner;import net.sourceforge.pinyin4 ...
- php判断汉子首字母的函数,php获取汉字首字母的函数
本文介绍用php实现汉字转化为首字母的方法,主要功能是:功能明确,易于修改维护和扩展: 英文的字串:不变返回(包括数字):中文字符串:返回拼音首字符: 中英混合串: 返回拼音首字符和英文. 网上的方法 ...
最新文章
- Intellij IDEA自动部署项目至远程FTP服务器
- 并发环境下HashMap引起的full gc排查
- python编程自学难吗-为什么很多人不建议自学python编程呢?
- 如何把握创业时机:当前的痛点也许是巨大的风险
- 解决spark on yarn报错:File /tmp/hadoop-root/nm-local-dir/filecache does not exist
- 重构—改善既有代码的设计
- linux下nginx安装与设置开机启动
- 够快云库, 加速企业信息化建设
- 【转载】ArrayList 中数据删除 fail fast
- iPhone 13系列又有新配色:猛男必看!
- 服务器中修改项目端口,c#-在Visual Studio 2013中更改项目端口号
- 122. 买卖股票的zui佳时机 II(JavaScript)
- python获取url响应
- 6间企业获颁“首届粤港澳大湾区百强企业传承大奖”
- 27.Yii App应用
- 概率论中几个入门公式
- pycharm 2018 永久激活
- 学计算机干眼,长时间看电脑致视力模糊?4个动作解决干眼症
- Circular reasoning
- 福建闽北卫生学校计算机考试,福建闽北卫生学校