为了账号安全,请及时绑定邮箱和手机立即绑定

请问该怎么使用mysql个生成4位随机数的自定义函数?如何去实现

请问该怎么使用mysql个生成4位随机数的自定义函数?如何去实现

狐的传说 2022-04-16 16:11:23
怎么使用mysql个生成4位随机数的自定义函数啊..我没用过mySQL写函数啊..头都大了。..急..求帮忙啊..要求还不重复..
查看完整描述

3 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

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 ;

查看完整回答
反对 回复 2022-04-19
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

我写了一个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



查看完整回答
反对 回复 2022-04-19
?
守着一只汪

TA贡献1872条经验 获得超3个赞

这是php生成随机数
$number = mt_rand(1000,9999);

查看完整回答
反对 回复 2022-04-19
  • 3 回答
  • 0 关注
  • 383 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号