記錄一次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