项目中需要动态随机生成一些固定位数的随机数,如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

最新文章

  1. Jquery Ajax方法传值到action
  2. ubuntu网络配置
  3. Java线程的生命周期
  4. php 循环向&lt;select&gt;添加选项
  5. 跟随屏幕滚动层、遮罩层、获取Div相对定位、整个屏幕、html文档的jquery基本操作
  6. EXPORT_SYMBOL的作用是什么
  7. 本地如何搭建IPv6环境测试你的APP
  8. 50行Python代码构建小型区块链
  9. 小米Max 2获取ROOT超级权限的经验
  10. 2014年西安区域赛的几道水题(A. F. K)
  11. ISCC的 Misc——WP
  12. 【刷题】LOJ 6009 「网络流 24 题」软件补丁
  13. 【转】CSS3的calc()使用——精缩版
  14. Nutch 使用总结
  15. 这才是官方的tapable中文文档
  16. mysql如何处理外码约束
  17. puppet practice
  18. 【划分树+二分】HDU 4417 Super Mario
  19. 【最大流/费用流】BZOJ1834-[ZJOI2010]network 网络扩容
  20. 在linux上用jmeter压测时出现很多异常java.net.NoRouteToHostException: Cannot assign requested address.

热门文章

  1. 微信小程序背景音频播放分享功能
  2. InvalidateRect()与Invalidate()的用法(转)
  3. Java常量字符串String理解 String理解
  4. Circuit level-shifts ac signals
  5. mysql字符串比较
  6. [翻译] YLGIFImage 高效读取GIF图片
  7. 第一章 Actionscript学习基本知识笔记及flashdevelop软件的安装问题
  8. 解决kylin build cube第一步报错:java.lang.NullPointerException
  9. OpenCV Harris 角点检测子
  10. django一对多 增 删 改 查