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://anzhentang.com/angzhen/395.html

(97)

文章推荐

  • 北京协和林进哪年出生

    北京协和医院骨科主任医师林进出生于1961。林进,男,中国医学科学院、北京协和医学院、北京协和医院外科学系资深教授、骨科知名专家、主任医师;卫健委国家卫生应急处置指导骨科专家;“协和病案内涵质控”专家。《敬佑生命·荣耀医者》“金柳叶刀奖”获得者。北京协和医院骨科主任医师林进出生于1961。国际矫形与

    2025年09月20日
    117
  • 3分钟科普“普通扑克牌金花边打边做记号(怎么提高胜率)

    普通扑克牌分析器,只要使用它,任何普通扑克,任何场地,单人使用,不需要任何加工处理,可直接知道每家牌的大小,并可控制自己拿到最大的那份牌。操作和使用方法点击添加客服微信普通扑克牌分析器放置在身体上合适的位置。他人洗牌,切牌,准备发牌(准备,是准备发牌)。此时,普通扑克牌分析器自动分析出哪一家大小,瞬

    2025年11月04日
    62
  • 必看教程“扑克牌分析扫描仪咋用,推荐1个购买渠道

    点击添加客服微信关于普通麻将机免安装控牌器这个问题其实是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。手机麻将可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义手机麻将系统规律,只需要输入自己想要的开挂功能,一键便可以生成出手机麻

    2025年11月07日
    63
  • 我来教大家“无磁遥控骰子一套多少钱(小程序必胜神器)

    点击添加客服微信关于普通麻将机免安装控牌器这个问题其实是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。手机麻将可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义手机麻将系统规律,只需要输入自己想要的开挂功能,一键便可以生成出手机麻

    2025年12月02日
    20
  • 安装程序教程“最新9点半普通扑克牌扫描仪”(专用神器)

    普通扑克牌分析器,只要使用它,任何普通扑克,任何场地,单人使用,不需要任何加工处理,可直接知道每家牌的大小,并可控制自己拿到最大的那份牌。操作和使用方法点击添加客服微信普通扑克牌分析器放置在身体上合适的位置。他人洗牌,切牌,准备发牌(准备,是准备发牌)。此时,普通扑克牌分析器自动分析出哪一家大小,瞬

    2025年12月05日
    35
  • 3分钟科普“扫描扑克牌仪器大全,推荐8个购买渠道

    点击添加客服微信关于普通麻将机免安装控牌器这个问题其实是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。手机麻将可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义手机麻将系统规律,只需要输入自己想要的开挂功能,一键便可以生成出手机麻

    2025年12月06日
    52
  • 一分钟了解“麻将报牌感应器对普通扑克有用吗,推荐8个购买渠道

    点击添加客服微信关于普通麻将机免安装控牌器这个问题其实是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。手机麻将可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义手机麻将系统规律,只需要输入自己想要的开挂功能,一键便可以生成出手机麻

    2025年12月08日
    30
  • 必看教程“最新普通扑克牌报牌神器的使用方法,推荐4个购买渠道

    点击添加客服微信关于普通麻将机免安装控牌器这个问题其实是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。手机麻将可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义手机麻将系统规律,只需要输入自己想要的开挂功能,一键便可以生成出手机麻

    2025年12月10日
    33
  • 超实用软件神器!熊猫麻将怎么开挂安装(有挂的是真的)

    您好:这款游戏可以开挂,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的点击添加客服微信1.这款游戏可以开挂,确实是有

    2026年01月07日
    19
  • 软件神器超绝!福建开心麻将有挂吗(确实有挂)

    您好:这款游戏可以开挂,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的点击添加客服微信1.这款游戏可以开挂,确实是有

    2026年01月07日
    14

发表回复

本站作者后才能评论

评论列表(4条)

  • 东郭光正
    东郭光正 2026年01月15日

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

  • 东郭光正
    东郭光正 2026年01月15日

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

  • 东郭光正
    东郭光正 2026年01月15日

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

  • 东郭光正
    东郭光正 2026年01月15日

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

    联系我们

    邮件:臻昂号@sina.com

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

    关注我们