MYSQL 传汉字获取拼音首字母
2024-09-06 10:07:23
CREATE DEFINER=`by`@`%` FUNCTION `fun_pinyin`(`P_NAME` VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
NO SQL
BEGIN
DECLARE V_COMPARE VARCHAR(255);
DECLARE V_RETURN VARCHAR(255);
DECLARE I INT;
SET I = 1;
SET V_RETURN = '';
while I <= char_length(P_NAME) do
SET V_COMPARE = SUBSTR(P_NAME, I, 1);
IF (V_COMPARE != '') THEN
SET V_RETURN = CONCAT(V_RETURN, fun_first_pinyin(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 CREATE DEFINER=`by`@`%` FUNCTION `fun_first_pinyin`(`P_NAME` VARCHAR(5)) RETURNS varchar(5) CHARSET utf8
NO SQL
BEGIN
DECLARE V_RETURN VARCHAR(5);
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');
IF ISNULL(V_RETURN) or V_RETURN = '' THEN
RETURN '';
ELSE
RETURN V_RETURN;
END IF;
END
最新文章
- Tomcat一个BUG造成CLOSE_WAIT
- xinetd cpu 100%
- bmp图片的有关操作
- for循环小题
- Tomcat Connector三种运行模式
- insert 另外一种用法
- Spring学习总结
- Windows开发中一些常用的辅助工具
- 【Holograms 101D】一步步用Unity 开发 Hologram
- [undefined,1] 和 [,1]的区别在哪里--认识js中的稀疏数组
- 爬虫免登录进入github
- Python-form表单标签
- 用javascript写原生ajax(笔记)
- 《手机端》让多出的导航变水平拖动,不让他 float 撑下去
- 缩点tarjan
- Solr记录-solr检索和查询数据
- jquery 实现table的行列选中效果改进
- 数据库性能优化之SQL语句优化(下)
- vmware下ubuntu不能上网 =>; 恢复默认虚拟网络
- BZOJ4350: 括号序列再战猪猪侠【区间DP】