文档章节

SQL -- 产生随机数

求是科技
 求是科技
发布于 2016/07/25 16:12
字数 380
阅读 44
收藏 0
点赞 0
评论 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型。

© 著作权归作者所有

共有 人打赏支持
求是科技
粉丝 89
博文 453
码字总数 228281
作品 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
tomcat启动太慢耗时很长的问题

tomcat启动太慢耗时很长的问题 tomcat启动很长时间,tomcat输出日志如下: INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation o......

Aic_liao
07/04
0
0
【MATLAB】高斯分布 均匀分布 以及其他分布 的随机数生成函数

matlab中rand和randn是产生随机数的命令,链接 x=rand(1,N) 产生(0,1)区间均匀分布的长度为N的随机信号,设置随机种子 rand('seed', 123); x=randn(1,N)产生长度为N且具有零均值和单位方差...

Yong_Luo
2011/11/07
0
0
[nRF51822] 16、nRF51822的随机数生成器,及随机数生成器的一些知识(可以帮您补补随机数发生器的知识)

1、前言 随机数生成器在通信、加密、图像传输等领域应用广泛,且一般起到关键性作用。我在最近设计的一个近场射频通信协议的碰撞避退算法的过程中,便对此有深深体会。 2、伪随机数发生器 随...

史迪奇2号
01/11
0
0
Laxcus大数据分布计算演示实例

Laxcus大数据管理系统提供了基于Diffuse/Converge分布算法的计算能力。算法的具体介绍详见《Laxcus:大数据处理系统》一文。本图展示了在集群环境下的随机数产生、排序、显示、存储的过程。 ...

柯西带你学编程
05/22
0
0
java 产生指定范围的随机数

Math.random() Math.random() 可以产生一个 大于等于 0 且 小于 1 的双精度伪随机数,假设需要产生 ”0<= 随机数 <=10” 的随机数,可以这样做: int num =(int)(Math.random() * 11); 那如何...

十一11
2016/02/18
25
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

一款成功的全球服游戏该如何进行架构选型与设计?

全球服游戏如今正在成为出海游戏的主要考虑模式,跨国对战、全球通服打破国界的限制,将不同地区不同语言的玩家放在一起合作/竞技,成功吸引了大量玩家的关注,并逐渐成为主流的游戏玩法。 ...

UCloudTech
2分钟前
0
0
StringUtils类中isEmpty与isBlank的区别

org.apache.commons.lang.StringUtils类提供了String的常用操作,最为常用的判空有如下两种isEmpty(String str)和isBlank(String str)。 StringUtils.isEmpty(String str) 判断某字符串是否为...

说回答
14分钟前
0
0
react native使用redux快速上手

先看个简单demo //app.jsimport React, {Component} from 'react';import {StyleSheet, Button, View} from 'react-native';import TestView from './src/testView'export default......

燕归南
16分钟前
0
0
页面输出JSON格式数据

package com.sysware.utils;import java.io.IOException;import javax.servlet.ServletResponse;import org.apache.log4j.Logger;import com.sysware.SyswareConstant;pub......

AK灬
37分钟前
0
0
springCloud-2.搭建Eureka Client的使用

1.使用IDEA,Spring Initializr创建 2.填写项目资料 3.选择spring boot版本,插件选择Cloud Discovery→Eureka Discovery 4.选择保存地址 5.修改application.yml eureka: client: s...

贺小康
40分钟前
0
0
CenOS 6.5 RPM 安装 elasticsearch 6.3.1

下载 wget --no-check-certificate https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.rpm...

阿白
43分钟前
0
0
1.4 创建虚拟机&1.5 安装CentOS7&1.6 配置ip(上)&1.7 配置ip(下)

1.4 创建虚拟机 知识点 虚拟机网络链接模式 桥连 直接将虚拟网卡桥接到一个物理网卡上面。需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主...

小丑鱼00
49分钟前
0
0
TrustAsia(亚洲诚信)助力看雪2018安全开发者峰会

2018年7月21日,看雪2018安全开发者峰会在北京国家会议中心圆满落下帷幕。拥有18年悠久历史的老牌安全技术社区——看雪学院联手国内最大开发者社区CSDN,汇聚业内顶尖的安全开发者和技术专家...

亚洲诚信
51分钟前
0
0
Spring注解介绍

@Resource、@AutoWired、@Qualifier 都用来注入对象。其中@Resource可以以 name 或 type 方式注入,@AutoWired只能以 type 方式注入,@Qualifier 只能以 name 方式注入。 但它们有一些细微区...

lqlm
今天
0
0
32位汇编在64位Ubuntu上的汇编和连接

本教程使用的操作系统是Ubuntu Linux 18.04 LTS版本,汇编器是GNU AS(简称as),连接器是GNU LD(简称ld)。 以下是一段用于检测CPU品牌的汇编小程序(cpuid2.s): .section .dataoutput...

ryanliue
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部