操作系统寒武纪 - 会让企业IT高兴吗?
995
2022-11-19
mysql 函数 判断一个字符串里面包含几个其他的字符
1.mysql函数: 判断一个字符串里面包含几个‘;’
drop function if exists func_containumsplit;create function func_containumsplit(targetstr varchar(500)) returns INTbegin-- 函数头 DECLARE total INT DEFAULT 0; DECLARE endnum INT DEFAULT 1; SET targetstr=SUBSTR(targetstr FROM 2 FOR LENGTH(targetstr)); while endnum<>0 DO -- 循环开始 set endnum=(select POSITION(';' IN targetstr)); set targetstr=(select SUBSTR(targetstr FROM endnum+1)); set total=total+1; end while; return total-1;end;
调用方法:
select func_containumsplit('65f37497-8edc-4e2f-91f6-47f8d8ac901d;19f69ea8-be70-47cf-a980-3e292577a288;19f69ea8-be70-47cf-a980-3e292577a288')
判断字符串中包含几个‘;’ 返回结果 2
2.mysql函数判断一个字符串里面是否包含‘;’
drop function if exists func_issplit;create function func_issplit(targetstr varchar(500)) returns varchar (255)begin-- 函数头 DECLARE total INT DEFAULT 0; SET targetstr=SUBSTR(targetstr FROM 2 FOR LENGTH(targetstr)); set @num=(select POSITION(';' IN targetstr)); if(@num>10) then return 1; ELSE return 0; end if;end;
调用方法:
select func_issplit('65f37497-8edc-4e2f-91f6-47f8d8ac901d;19f69ea8-be70-47cf-a980-3e292577a288;19f69ea8-be70-47cf-a980-3e292577a288')
返回结果 1,如果不包含;返回结果 0
3.mysql 根据索引对字符串进行分割
drop function if exists func_split;create function func_split(targetstr varchar(500),indexnum INT) returns varchar (255)begin-- 函数头 declare i int default 0; declare beginnum int DEFAULT 0; while i<=indexnum DO -- 循环开始 set @endnum=(select POSITION(';' IN targetstr)); if(i+1<=indexnum) then set targetstr=(select SUBSTR(targetstr FROM @endnum+1)); ELSEIF(@endnum<>0) THEN set targetstr=(select left(targetstr,@endnum-1)); ELSE set targetstr=targetstr; end if; set i=i+1; end while; return targetstr;end;
调用方法:(索引从0开始)
select func_split('65f37497-8edc-4e2f-91f6-47f8d8ac901d;19f69ea8-be70-47cf-a980-3e292577a288;19f69ea8-be70-47cf-a980-3e292577a283',1);
返回结果:
19f69ea8-be70-47cf-a980-3e292577a288
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~