zoukankan      html  css  js  c++  java
  • mysql 定义function rand

    MySQL获取随机数

     

    如何通过MySQL在某个数据区间获取随机数?

    MySQL本身提供一个叫rand的函数,返回的v范围为0 <= v < 1.0。

    介绍此函数的MySQL文档也介绍道,可以通过此计算公式FLOOR(i + RAND() * (j – i)),获取i <= v < j的随机数字v。

    附文档链接:http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_rand

    为了书写、调用方便,写一个函数返回随机数字,注意,此函数为了遵应个人习惯,是使用FLOOR(i + RAND() * (j – i + 1))这样的公式,随机数v的范围为i <= v <= j,而非i <= v < j。

    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);
    作者:Nick Huang 博客:http://www.cnblogs.com/nick-huang/ 本博文为学习、笔记之用,以笔记记录作者学习的知识与学习后的思考或感悟。学习过程可能参考各种资料,如觉文中表述过分引用,请务必告知,以便迅速处理。如有错漏,不吝赐教。
  • 相关阅读:
    Internet Explorer 安全区域注册表项说明
    Android强制设置横屏或竖屏
    SQLite to Asp.net Entity Framework 部署问题
    获取地里位置信息
    通信API、使用Web Workers处理线程
    本地存储、离线应用程序
    多媒体播放
    绘制图形
    表单与文件
    HTML5的结构
  • 原文地址:https://www.cnblogs.com/nele/p/5094915.html
Copyright © 2011-2022 走看看