sql 生成随机码

select char(65+ceiling(rand()*25)) --随机字母(大写)
select char(97+ceiling(rand()*25)) --随机字母(小写)
select cast(ceiling(rand()*9) as varchar(1)) --随机数字 1至9的随机数字(整数)

declare @i int 
declare @flag int
declare @ra varchar(12) ---最后会生成的随机码
--初始化设定
set @i=1
set @ra=''
--生成12位随机码
while @i<13
begin
--设置随机,这个随机会选择字母(大小写)还是数字
set @flag=ceiling(rand()*3) 
if @flag=1 
begin
--随机字母(大写)
select @ra=@ra+char(65+ceiling(rand()*25))
end
else if @flag=2
begin
--随机字母(小写)
select @ra=@ra+char(97+ceiling(rand()*25))
end
else
begin
--随机数字 1至9的随机数字(整数)
select @ra=@ra+cast(ceiling(rand()*9) as varchar(1))
end
set @i=@i+1
end
print('随机码:'+@ra)

你可能感兴趣的:(Sql,Server)