MySQL取得某一范围随机数

①直接取值
若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))。

例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机整数, 可使用以下语句:

SELECT FLOOR(7 + (RAND() * 6));
②创建函数
复制代码
CREATE FUNCTION rand_num (
    start_num INTEGER,
    end_num INTEGER
) RETURNS INTEGER
BEGIN
    RETURN FLOOR(start_num + RAND() * (end_num - start_num + 1));
END;
复制代码
比如,要获取1-9的随机数,如此调用即可:

select rand_num(1, 9);
 

分类: MysqL

  

posted @ 2019-01-13 18:15  御世制人  阅读(496)  评论(0编辑  收藏  举报