mysql 自定义函数【比对字符串,返回差异字符】

2021/10/30 19:14:44

本文主要是介绍mysql 自定义函数【比对字符串,返回差异字符】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

不多哔哔,直接上干货(请无视命名规则)

CREATE FUNCTION `f_str_diff`(guize VARCHAR(255),tongguo VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
    DETERMINISTIC
begin
    DECLARE newName VARCHAR(255);
    DECLARE newName1  VARCHAR(255)  DEFAULT '';
      declare itemindex int(10);
    set guize=concat(guize,',');
    set itemindex=instr(guize,',');
    WHILE(guize!=','and itemindex>0) DO
    set newName = left(guize,itemindex-1);
      IF(instr(tongguo,newName)=0) 
    THEN 
        set newName1 = concat(newName,',',newName1);
      end IF;
      set guize=right(guize,CHAR_LENGTH(guize)-itemindex); 
      set itemindex=instr(guize,',');
    END WHILE;
    RETURN newName1;
   end

原理很简单:通过特殊字符“,”,循环截取第一个字符进行比对,返回不存在于另一个字符的部分。

 

 

网上没找到相关的代码(可能搜索关键词不对吧,哈哈),就自己研究自定义函数,等同于盲写代码,过程中踩了无数的坑,记录一下。



这篇关于mysql 自定义函数【比对字符串,返回差异字符】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程