MySQL取得某一範圍隨機數

原文鏈接

https://www.cnblogs.com/wt645631686/p/6868775.html

①直接取值

若要在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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章