记录一次mysql中自定义获取伪UUID的函数


循环方式一:

DELIMITER :;

drop function if exists test.fn_test:;

create function test.fn_test()

returns varchar(32)
begin

declare temp varchar(36) default 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
declare str varchar(32) default '';
declare i int default 0;
declare len int;

while i < 32 do
set i = i + 1;
set len = CEIL(RAND() * 36);
set str = CONCAT(str, SUBSTRING(temp, len, 1));
end while;

return str;
end:;

DELIMITER;

select fn_test();

循环方式二:

DELIMITER :;

drop function if exists test.fn_test:;

create function test.fn_test()

returns varchar(32)
begin

declare temp varchar(36) default 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
declare str varchar(32) default '';
declare i int default 0;
declare len int;

loop_lable:LOOP

if(i >= 32) then
    leave loop_lable;
end if;
set i = i + 1;

set len = CEIL(RAND() * 36);
set str = CONCAT(str, SUBSTRING(temp, len, 1));
end LOOP;

return str;
end:;

DELIMITER;

select fn_test();

 循环方式三:

DELIMITER :;

drop function if exists test.fn_test:;

create function test.fn_test()

returns varchar(32)
begin

declare temp varchar(36) default 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
declare str varchar(32) default '';
declare i int default 0;
declare len int;

REPEAT set i = i + 1;

set len = CEIL(RAND() * 36);
set str = CONCAT(str, SUBSTRING(temp, len, 1));

until i >= 32 end REPEAT;

return str;
end:;

DELIMITER;

select fn_test();

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM