怎么使用mysql个生成4位随机数的自定义函数

怎么使用mysql个生成4位随机数的自定义函数啊..我没用过mySQL写函数啊..头都大了。..急..求帮忙啊..要求还不重复..... 怎么使用mysql个生成4位随机数的自定义函数啊..
我没用过mySQL写函数啊..头都大了。..急..求帮忙啊..
要求还不重复..
展开
 我来答
百度网友c5f275c
推荐于2018-04-10 · TA获得超过1842个赞
知道小有建树答主
回答量:646
采纳率:50%
帮助的人:816万
展开全部
select round(round(rand(),4)*10000);
不用函数直接这样就好了。

非得写函数的话,就
DELIMITER $$

CREATE
FUNCTION get_rand()
RETURNS INT DETERMINISTIC
BEGIN
DECLARE return_no INT;
SELECT ROUND(ROUND(RAND(),4)*10000) INTO return_no;
RETURN return_no;
END$$

DELIMITER ;
chenkaka0578
2009-07-28 · TA获得超过219个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:0
展开全部
我写了一个SQL2005的
create proc suijishu
@weishu int,@hangshu int
as
declare @temp table
(
id int identity(1,1),
zhi varchar(10)
)
declare @js int
declare @zhi varchar(10)
declare @i varchar(10)
declare @j int
set @j=0
while 1=1
begin
--唯一的随机数插入表@temp
set @zhi=''
while 1=1
begin
set @i =''
set @j=round(rand()*10,0)
--如果是10就置为0
if @j>=10
set @j=0
set @i=rtrim(convert(varchar(10),@j))
set @zhi=@zhi+@i
if len(rtrim( @zhi))>=@weishu
break
end
--判断是否唯一
if not exists(select * from @temp where zhi=@zhi)
insert @temp values(@zhi)
select @js=count(*) from @temp
if @js>=@hangshu
break
end
select * from @temp

例如:产生5个不重复的7位随机数
exec suijishu 7,5
传两个参数,
第一个参数:每个随机数的位数
第二个参数:产生随机数的个数
结果:
id zhi
1 9049637
2 0788233
3 7486321
4 5466539
5 2484970
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0529zsl
2009-07-28
知道答主
回答量:26
采纳率:0%
帮助的人:7.3万
展开全部
这是php生成随机数
$number = mt_rand(1000,9999);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lisany30201314
2018-04-10 · TA获得超过690个赞
知道小有建树答主
回答量:476
采纳率:80%
帮助的人:30.1万
展开全部

select round(round(rand(),4)*10000);

The rand function requires 2 to 3 arguments.

select round(round(rand(),4)*10000, 4);

保证生成四位整数,即1000~9999:

select cast(floor(rand()*10000) as int)%9000+1000;

释义:生成0~8999的随机数+1000,即可;

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式