mysql的rand函数
项目中需要动态随机生成一些固定位数的随机数,如8位,5位等。
之前看到的写法是这样
ROUND(ROUND(RAND(),5)*100000)
这样写不太准确,有几率出现4位的情况,Rand() 函数是取 0 ~ 1(无限接近) 的随机函数
如果 某此随机数取出的 是 0.05321
那么这样转化出来的就是 5321 ,只有4位。
如果能用一个函数包装一下,取完数值后发现位数不对的时候,就补位进去就比较完美了。
下面是我改的一个函数,不过缺点是 生成的函数位数不能超过20位。当然改一改也是可以了。
DELIMITER $$
USE `prvecard`$$
DROP FUNCTION IF EXISTS `getRand`$$
CREATE DEFINER=`PECARD`@`%` FUNCTION `getRand`(counts INTEGER) RETURNS VARCHAR(20) CHARSET utf8
BEGIN
DECLARE sTemp VARCHAR(20);
DECLARE sTempCounts INTEGER;
SET sTemp = CONCAT( ROUND(ROUND(RAND(),counts)*(POW(10,counts))),);
IF(CHAR_LENGTH(sTemp)<counts) THEN
SET sTempCounts = counts - CHAR_LENGTH(sTemp);
SET sTemp = CONCAT(sTemp, RIGHT(CONCAT(POW(10,sTempCounts),),sTempCounts));
END IF;
RETURN sTemp;
END$$
DELIMITER ;
不过还得根据需要来随机
update company set directors=round(round(rand(),2)*1000),associate=round(round(rand(),2)*1000);
原文来自:http://www.2cto.com/database/201107/95191.html
mysql的rand函数的更多相关文章
- php MySQL使用rand函数随机取记录(转)
php MySQL使用rand函数随机取记录 如何在mysql中使用随机数, 如何写一个语句能一下更新几百条MYSQL数据! 需要测试MYSQL数据库,里面有一个上万条数据的数据库,如何写一个PHP文 ...
- MySQL使用rand函数实现随机数[转]
如何写一个语句能一下更新几百条MYSQL数据! 需要测试MYSQL数据库,里面有一个上万条数据的数据库,如何写一个PHP文件一下每次更新几百条信息,我都是写一个循环一次更新一条信息,这样我知道用WHI ...
- MySQL使用rand函数实现随机数
sql 的随机函数newID()和RAND() sql server的随机函数newID()和RAND() SELECT * FROM Northwind..Orders ORDER BY NEWID ...
- MySQL的随机数函数rand()的使用技巧
咱们学php的都知道,随机函数rand或mt_rand,可以传入一个参数,产生0到参数之间的随机整数,也可以传入两个参数,产生这两个参数之间的随机整数. 而在mysql里,随机数函数rand不能传参, ...
- MySQL中的RAND()函数使用详解(order by rand() 随机查询取前几条记录)
MySQL RAND()函数调用可以在0和1之间产生一个随机数: mysql> SELECT RAND( ), RAND( ), RAND( ); +------------------+--- ...
- MySQL中的RAND()函数使用详解
转自:https://www.jb51.net/article/66697.htm MySQL RAND()函数调用可以在0和1之间产生一个随机数: ? 1 2 3 4 5 6 7 mysql> ...
- MySQL内置函数
MySQL中的内置系统函数 用在SELECT语句,以及字句where order by having 中UPDTE DELETE 函数中可以将字段名作为变量来用,变量的值就是这个列对应的每一 ...
- MySQL(5.6) 函数
字符串函数 ASCII(str) 说明:返回字符串 str 最左边字符的 ASCII 值 mysql'); mysql); mysql> SELECT ASCII('a'); mysql> ...
- (MariaDB)MySQL内置函数大全
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
随机推荐
- input输入框限制输入英文,数字,汉字
<h1>js验证输入框内容</h1><br /><br /> 只能输入英文<input type="text" onkeyup ...
- mp4网页播放代码,有声音无图像的解决办法~
mp4网页播放代码,有声音无图像的解决办法~ 关于网页播放mp4格式的视频,找了一些插件,这里推荐一下video.js 官方网址:http://www.videojs.com/ github ...
- Java ClassLoader加载机制理解 实际例子
针对 Java ClassLoader加载机制理解, 做了个如何自定制简单的ClassLoader,并成功加载指定的类. 不废话,直接上代码. package com.chq.study.cl; im ...
- js:对象的创建(为prototype做铺垫)
/** *在js中并不存在类,所以能够直接通过Object来创建对象,可是使用这样的方式创建有一 *弊端:因为没有类的约束,无法实现对象的反复利用,而且没有一种规范约定,在操作时easy带来问题. ...
- Xcode的插件的路径
/Users/dllo/Library/Application\ Support/Developer
- http://www.cnblogs.com/zhoujinyi/p/3437475.html
http://www.cnblogs.com/zhoujinyi/p/3437475.html
- Orchard运用 - 整合Disqus评论插件
评论对于博客系统那是必须具备的一个功能,Orchard本身也默认实现了评论模块,你可以集成到其他内容,比如博客随笔,不过觉得有点寒碜,样式有点呆板.幸运的是,你可以简单集成第三方评论插件,比如Disq ...
- springmvc+jsp引用本地图片文件
1.图片文件路径,注意图片文件夹和WEB-INFO文件夹同级 2.web.xml配置 <servlet-mapping> <servlet-name>default</s ...
- TZOJ 1072: 编辑距离(动态规划)
1072: 编辑距离 时间限制(普通/Java):1000MS/10000MS 内存限制:65536KByte 总提交: 917 測试通过:275 描写叙述 如果字符串的 ...
- Java GC、新生代、老年代
堆内存 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象.在 Java 中,堆被划分成两个不同的区域:新生代 ( Young ).老年代 ( Old ).新生代 ( ...