mysql udf函数怎么调用

网上有关“mysql udf函数怎么调用”话题很是火热,小编也是针对mysql udf函数怎么调用寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

背景

在上一篇推文中,我们介绍了 MySQL Group Replication 8.0.16 支持信息碎片化功能来增强大型事务处理能力。

如果您想在组复制中使用该功能,则任何组成员的版本都不能低于 8.0.16!

简单地说就是由于低版本协议上不支持。MySQL 8.0.16 的组通讯开始支持新协议,简称“分段协议”,之前的版本中只有一种“压缩协议”。

如果多个成员想加入复制组,那么在协议匹配上遵循以下原则:

现有复制组成员和新加入成员版本相同,加入成功。

低版本成员想加入高版本的组会被驱逐,加入失败。

高版本的成员想加入低版本的组,单独加入成功,多个加入失败。

例如:

一个 MySQL Server 8.0.16 实例可以成功加入使用通信协议版本 5.7.24 的组。

一个 MySQL Server 5.7.24 实例无法成功加入使用通信协议版本 8.0.16 的组。

两个 MySQL Server 8.0.16 实例无法同时加入使用通信协议版本 5.7.24 的组。

两个 MySQL Server 8.0.16 实例可以同时加入使用通信协议版本 8.0.16 的组。

新增 UDF

为了能让高版本的复制组更便于加入低版本的成员,MySQL 8.0.16 新增两个 UDF。

您可以使用两个新的 UDF 命令去管理组通信协议:

1. group_replication_set_communication_protocol(new_protocol)

设置组复制通讯协议版本

SELECT group_replication_set_communication_protocol("8.0.15");

填入一个所有成员都支持的版本号,即:new_protocol ≤ 所有成员的 MySQL版本。

new_protocol 格式:major.minor.patch (主版本号.次版本号.发布版本号)例如:8.0.15。

2. group_replication_get_communication_protocol()

获取复制中最旧成员的 MySQL 版本号

SELECT group_replication_get_communication_protocol(); +------------------------------------------------+ | group_replication_get_communication_protocol() | +------------------------------------------------+ | 5.7.14 | +------------------------------------------------+

获取的版本号可能与设置的值不一致,但不一致的版本之间组复制协议是一样的。

返回结果格式:major.minor.patch (主版本号.次版本号.发布版本号)例如:8.0.15。

以上两个 UDF 对全部组成员有效,主机或从机上均可执行。

结论

若想使用信息碎片功能。建议将组复制成员全部升级为 8.0.16。

若组内成员版本仅有部分为 8.0.16,可以用两个新的函数来让高版本的成员保持与其它成员组协议一致。

请点击输入描述

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)

复制代码?代码如下:

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?|

+------------------+-------------------------+--------------------+

5?rows?in?set

关于“mysql udf函数怎么调用”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[东郭光正]投稿,不代表臻昂号立场,如若转载,请注明出处:https://www.anzhentang.com/angzhen/395.html

(33)

文章推荐

  • 什么牌子的防晒霜是物理防晒的?

    防晒不分年纪大小。防晒霜一般分物理防晒和化学防晒。想清楚请百度。如果不喜欢油腻的泛亮光的防晒,质地偏油腻和厚重,容易堵塞毛孔。但是物量防晒相对于化学防晒更安全一些。可以选择化学防晒。不论哪儿种防晒都需要卸妆。如果闲物理防晒太油腻可以选择BioreaquarichSPF30,PA+++这款水得一塌糊涂

    2025年09月07日
    36
  • 盘点中国好声音历届冠亚季军得主及导师是谁

    网上有关“盘点中国好声音历届冠亚季军得主及导师是谁”话题很是火热,小编也是针对盘点中国好声音历届冠亚季军得主及导师是谁寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。1-5季冠亚季军得主及导师分别如下:第一季:冠军梁博(导师那英)、亚军吴莫愁(导师庾澄庆)、季

    2025年09月08日
    45
  • 手工皂皂液怎么变白色

    用纯水做皂,不要用带颜色的水相,油相的选择上,用山茶油,马油,比较容易做出白白的肥皂。要想做出白色的手工皂,就需要准备一定比例的肥皂原材料:1、首先要知道肥皂原材料颜色的深浅,在配置合适的增白剂和增亮剂。2、通过肥皂原材料的配比,取出荧光增白剂和光亮剂,在天平秤上精准称量后,放入肥皂原材料中。3、将

    2025年09月11日
    36
  • 保养品用什么护肤水

    爽肤水受欢迎的最大原因是它们给人的那种清新感觉,"爽肤水"和"紧肤水"常被用来指同一种东西,但一定要确保你所用的适合你的皮肤类型。如何选购一、如果是皮肤干燥的“树皮男”,就要选择含有透明质酸、深层保湿的爽肤水。它的滋润度较高,可以很快缓解肌肤的干渴状况。如果是毛孔粗大,肌肤油腻的“油田男”,更需要控

    2025年09月15日
    31
  • 眼睛激光手术安全吗 眼睛激光手术的注意事项

    对于激光手术,我们大家可能并不陌生,可能也有些人已经做过眼睛激光手术,眼睛激光手术是一个比较漫长的过程,手术之后需要长时间的恢复,需要多多注意,以免留下后遗症,下面我们一起来看看吧!眼睛激光手术危险吗虽然激光手术是一种无创手术,但它的风险一样存在的。激光矫正手术的安全性和医生的操作

    2025年09月18日
    31
  • 和尚头上几个点

    出家人头上的九个点,叫做戒疤。有一种说法,说烧戒疤是起自于舍身供养的佛家思想,也被视为断除我执。旧时出家人受戒时,所燃香疤之数目一般有一、二、三、六、九、十二几种。十二点表示是受的戒律中最高的“菩萨戒”。在家众多于受菩萨戒日的前腋、烧戒疤于手腕;出家众的戒疤多烧于头顶,成为世俗人眼中和尚的标识之一。

    2025年09月20日
    32
  • 辅助神器“手机斗地主记牌器通用版免费”分享必要外挂教程

    无需打开直接搜索微信:本司针对手游进行,选择我们的四大理由:1、软件助手是一款功能更加强大的软件!无需打开直接搜索微信:2、自动连接,用户只要开启软件,就会全程后台自动连接程序,无需用户时时盯着软件。3、安全保障,使用这款软件的用户可以非常安心,绝对没有被封的危险存在。

    2025年09月22日
    17
  • 辅助神器“手机斗牛有挂吗”开挂详细教程

    >亲,手机斗牛有挂吗这款游戏原来确实可以开挂,详细开挂教程1、起手看牌2、随意选牌3、控制牌型4、注明,就是全场,公司软件防封号、防检测、 正版软件、非诚勿扰。2022首推。全网独家,诚信可靠,无效果全额退款,本司推出的多功能作 弊辅助软件。软件提供

    2025年09月23日
    15
  • 必看教程“微信小程序微乐麻将开挂方法”其实确实有挂

    您好:微信小程序微乐麻将开挂方法这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【添加图中微信】安装软件.1.

    2025年09月24日
    15
  • 英语六级翻译备考必背英语词汇

    英语六级翻译备考必背英语词汇 英语六级翻译命题组的'老师应该都很爱国,题目都是关于中国传统文化、经济发展之类的。为了帮助大家备考,我整理了一些英语六级翻译词汇,希望能帮到大家! 文房四宝(笔墨纸观)theFourTreasuresof

    2025年09月24日
    13

发表回复

本站作者后才能评论

评论列表(4条)

  • 东郭光正
    东郭光正 2025年09月06日

    我是臻昂号的签约作者“东郭光正”!

  • 东郭光正
    东郭光正 2025年09月06日

    希望本篇文章《mysql udf函数怎么调用》能对你有所帮助!

  • 东郭光正
    东郭光正 2025年09月06日

    本站[臻昂号]内容主要涵盖:生活百科,小常识,生活小窍门,知识分享

  • 东郭光正
    东郭光正 2025年09月06日

    本文概览:网上有关“mysql udf函数怎么调用”话题很是火热,小编也是针对mysql udf函数怎么调用寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够...

    联系我们

    邮件:臻昂号@sina.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注我们