⽣成10位由⼤⼩写字母和数字组成的随机激活码
/*
lectchar(65+ceiling(rand()*25))--随机字母(⼤写)
lectchar(97+ceiling(rand()*25))--随机字母(⼩写)
lectcast(ceiling(rand()*9)asvarchar(1))--随机数字1⾄9的随机数字(整数)
*/
DECLARE@iint
DECLARE@flagint
DECLARE@SerialNumbernvarchar(20)
--初始化设定
SET@i=1
SET@SerialNumber=''
--⽣成10位随机码
WHILE@i<11
BEGIN
--设置随机,这个随机会选择字母(⼤⼩写)还是数字
SET@flag=ceiling(rand()*3)
IF@flag=1
BEGIN
--随机字母(⼤写)
lect@SerialNumber=@SerialNumber+char(65+ceiling(rand()*25))
END
elif@flag=2
begin
--随机字母(⼩写)
lect@SerialNumber=@SerialNumber+char(97+ceiling(rand()*25))
end
elbegin
--随机数字1⾄9的随机数字(整数)
lect@SerialNumber=@SerialNumber+cast(ceiling(rand()*9)asvarchar
(1))
end
--进⾏下⼀个循环
SET@i=@i+1
END
SELECT@SerialNumberas'⽣成的10位激活码'
---但是有的时候需要前⾯⼏位必须是纯英⽂字母,后⾯⼏位纯数字或随意字母和数字
/*
lectchar(65+ceiling(rand()*25))--随机字母(⼤写)
lectchar(97+ceiling(rand()*25))--随机字母(⼩写)
lectcast(ceiling(rand()*9)asvarchar(1))--随机数字1⾄9的随机数字(整数)
*/
DECLARE@iint
DECLARE@flagINT
DECLARE@SerialNumbernvarchar(20)
--初始化设定
SET@i=1
SET@SerialNumber=''
--⽣成10位随机码
WHILE@i<11
BEGIN
--设置随机,这个随机会选择字母(⼤⼩写)还是数字
SET@flag=ceiling(rand()*3)
IF@i<6--前五位是字母
BEGIN
IF@flag=1
BEGIN
--随机字母(⼤写)
lect@SerialNumber=@SerialNumber+char(65+ceiling(rand()*25))
END
ELSEBEGIN
--随机字母(⼩写)
lect@SerialNumber=@SerialNumber+char(97+ceiling(rand()*25))
END
END
ELSEBEGIN--后⾯⼏位是字母或数字
IF@flag=1
BEGIN
--随机字母(⼤写)
lect@SerialNumber=@SerialNumber+char(65+ceiling(rand()*25))
END
elif@flag=2
begin
--随机字母(⼩写)
lect@SerialNumber=@SerialNumber+char(97+ceiling(rand()*25))
end
elbegin
--随机数字1⾄9的随机数字(整数)
lect@SerialNumber=@SerialNumber+cast(ceiling(rand()*9)asvarchar(1))
end
END
--进⾏下⼀个循环
SET@i=@i+1
END
SELECT@SerialNumberas'⽣成的10位激活码'
本文发布于:2022-11-25 11:32:47,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/18194.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |