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);

 

posted @ 2017-05-17 17:54  温柔的风  阅读(22983)  评论(0编辑  收藏  举报