日期:2014-05-17  浏览次数:20498 次

SQL Server语句 怎样产生随机数字、大小写字母??
SQL Server语句 怎样产生随机数字、大小写字母??

------解决方案--------------------
写完之后发现,这个挺好玩的,呵呵
http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/2.gif
SQL code
/*
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)

--测试结果
/*
随机码:S33V95xMbw89
*/