小编egg*_*ers的帖子

调用RAND()从mysql中的函数返回相同的值:

作为查询,每次执行都会返回不同的值:

SELECT FLOOR(200000000000 + (RAND() * 100000000000))
Run Code Online (Sandbox Code Playgroud)

编写一个执行相同操作的函数(从存储过程调用):

DROP FUNCTION if exists setRandomNumber//
CREATE FUNCTION setRandomNumber()
RETURNS INT
BEGIN

 DECLARE rand INT DEFAULT 0;

 SELECT FLOOR(200000000000 + (RAND() * 100000000000)) INTO rand;

RETURN rand;
END//
Run Code Online (Sandbox Code Playgroud)

始终产生相同的数字:

SELECT setRandomNumber();
Run Code Online (Sandbox Code Playgroud)

收益率:

setRandomNumber()2147483647

setRandomNumber()2147483647

setRandomNumber()2147483647

setRandomNumber()2147483647

等等.

这是一个错误吗?如何在函数或存储过程中迭代设置多个随机数?

mysql random

0
推荐指数
1
解决办法
753
查看次数

标签 统计

mysql ×1

random ×1