文档章节

SQL -- 产生随机数

求是科技
 求是科技
发布于 2016/07/25 16:12
字数 380
阅读 49
收藏 0

mysql产生随机数的方法RAND()
RAND() 产生0~1之间的随机数,例如

输入图片说明

在mysql中,当处理数值时,例如:存在一个float型数值3.86,如果我们只想取整数部分,则可以使用mysql的floor函数。例如

输入图片说明

现在工程需求产生一个17位纯数字char型数据,分析如下
1>17位的纯数字范围10000000000000000~99999999999999999
2>产生一个0~1之间的随机数,如:0.12345678901234567
3>我们取上述随机数的临界值,即0或者1,则17位随机数的范围0~99999999999999999
4>我们要保证位数为17位,因此低临界值的最小数据应该是10000000000000000
5>很容易想到SQL应该这么写,得到的结果如下

select 10000000000000000 + RAND()*(99999999999999999-10000000000000000)

输入图片说明
6>取整数部分,SQL如下

SELECT FLOOR(10000000000000000+RAND()*(99999999999999999-10000000000000000))

结果图如下

输入图片说明
7>很明显,在mysql中,17位的纯数字肯定不能为int,如上工程,我设置为char型,第6>中得出的数据如果直接插入到数据库表中,则会出现 4.045002932702194e16 这种数据,因此我们需要将其转换成char型,采用字符串拼接函数,SQL如下

SELECT CONCAT(FLOOR(10000000000000000+RAND()*(99999999999999999-10000000000000000)),'')

输入图片说明
8>总结:需要产生X位的随机数的算法

SELECT FLOOR(X位数据的最小值+RAND()*(X位数据的最大值-X位数据的最小值))

注意:如果X的位数大于11,则需要按照如上将数据由int转成char型。

© 著作权归作者所有

共有 人打赏支持
求是科技
粉丝 91
博文 444
码字总数 228569
作品 0
成都
后端工程师
私信 提问
【译】使用SQL生成非均匀随机数

正如”随机数的生成过程非常重要因此我们不能对其视而不见”(引自Robert R -橡树岭国家实验室),我们希望占用您一点点宝贵的时间在基于SQL Server MVP Jeff Moden的成果的基础上完成这项工作。...

范大脚脚
2017/12/21
0
0
怎么一步步编写简单的PHP的Framework(十四)

今天我说一下怎么在框架中over掉这些安全问题。 首先是SQL注入,这个如果你使用的是PDO,我觉得应该没什么问题,如果你使用的还是mysql_*等API,那么你可以在框架中实现bindParameter或者在插...

阳光test
2012/12/06
0
2
C语言产生随机数

数学上产生的是伪随机数,真正产生随机数的是物理上的。 要想产生随机数那么每次产生的随机数都不同,那么随机数种子每次就要不同才行。 srand(unsigned int seed); //产生随机数种子 常用t...

天才的实力
2014/11/26
0
0
Python 随机数标准库(1) -- random()

Python random包可以用来生成随机数。随机数不仅可以用于数学用途,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。如果想要更加高级的数学功能,可以考虑选择标准库之外的n...

达闻西
2016/06/02
0
0
【C++】srand及rand函数

PS:是在数据挖掘实验中遇到的 摘自:【http://blog.csdn.net/candyliuxj/article/details/4396666】--candyliuxj rand 函数名: rand 功 能: 随机数发生器 用 法: int rand(void); 所在头文件...

Zoe_2016
2016/11/22
13
0

没有更多内容

加载失败,请刷新页面

加载更多

搜索引擎(Lucene-索引详解)

IndexWriter详解 问题1:索引创建过程完成什么事? 回顾架构图 Lucene索引创建API 图示 Lucene索引创建代码示例 public static void main(String[] args) throws IOException { // 创建...

这很耳东先生
20分钟前
1
0
JavaScript数据结构之栈实例用法

在本篇文章里小编给大家分享了关于JavaScript数据结构之栈实例用法内容,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 栈 先来看...

前端攻城老湿
30分钟前
1
0
springboot 使用 redis 管理session

1.pom.xml 引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency><dependency> ......

狼王黄师傅
31分钟前
1
0
Js取小数点后两位四种方法

在本篇文章里小编给大家分享了关于js取小数点后两位四种方法和实例代码,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 Javascri...

前端攻城小牛
37分钟前
1
0
js 唤端

h5页面唤起app const appDownload = () => { // 分享- 唤起 - 下载function failed() {window.location = '应用商店的scheme '}function transfer(cb) {window.location.href =......

何祯粮
37分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部