大家好,又见面了,我是你们的朋友全栈君。
下面的自定义函数 中,
注意delimiter 的使用,如果不懂,请看我的上一篇文章
使用了 group_concat()、find_in_set() 函数,
delimiter $$
use `test`$$
drop function if exists `queryOnePartnerIdById`$$
create function `queryOnePartnerIdById`(_id bigint) returns varchar(4000) charset utf8
begin
if _id is null or _id='' or _id=0 then
return null;
end if ;
select GROUP_CONCAT(id) into @__selectTmpID from lcs_member where del_flag=0 and belong_to_partner>0 and FIND_IN_SET(belong_to_partner,_id)>0;
if (@__selectTmpID!='' and @__selectTmpID is not null ) then
return @__selectTmpID;
else
return null;
end if;
end$$
delimiter ;
delimiter $$
use `test`$$
drop function if exists `queryOnePartnerUuidByUuid`$$
create function `queryOnePartnerUuidByUuid`(_uuid varchar(4000)) returns varchar(4000) charset utf8
begin
set _uuid=TRIM(_uuid);
if _uuid is null or _uuid='' then
return null;
end if ;
select GROUP_CONCAT(id) into @__userID from lcs_member where del_flag=0 and user_uuid=_uuid;
if @__userID is null or @__userID='' then
return null;
end if ;
select GROUP_CONCAT(id),GROUP_CONCAT(user_uuid) into @__selectTmpID,@_user_uuid from lcs_member where del_flag=0 and belong_to_partner>0 and FIND_IN_SET(belong_to_partner,@__userID)>0;
if (@__selectTmpID!='' and @__selectTmpID is not null ) then
return @_user_uuid;
else
return null;
end if;
end$$
delimiter ;
调用:
select queryOnePartnerIdById(318);
select * from lcs_member where FIND_IN_SET(id, queryOnePartnerIdById(318));
select queryOnePartnerUuidByUuid('9974A2EC6DCE8AB0E')
select * from lcs_member where FIND_IN_SET(user_uuid, queryOnePartnerUuidByUuid('9974A2EC6DCE8AB0E'));
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196015.html原文链接:https://javaforall.cn