MySQL产生随机字符

MySQL产生随机字符
  UUID简介
  UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。
  UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft’s Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。
  UUID 是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。
  UUID由以下几部分的组合:
  (1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
  (2)时钟序列。
  (3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
  UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。

SQL 随机函数

  SQL的随机函数 RAND()  ( SQLServer 里面是 newid() )
  1) 产生0到1000间的随机数
    SELECT RAND() * 10000;

    对应产生相应的整数
    SELECT FLOOR(RAND() * 10000);

  2) 使用md5()产生32位随机字符串
    SELECT MD5(RAND() * 10000);

  3) 产生500-1000间的整形
    SELECT FLOOR( 500 + RAND() * (1000 - 500));  

  4)    生成随机字符串
    SELECT REPLACE( UUID() ,"-","" );

  UUID()
    A:select * from tablename order by rand() limit 1 ;                ---将查询结果随机排序
    B:select floor(rand()*N) ;                        ---生成的数乘以N向上取整是这样的:6
    C:select cast( floor(rand()*N) as signed) ;                  ---生成的数乘以N向上取整是这样的:6 
    D:select ceiling(rand() * N) ;                        ---生成的数乘以N向下取整是这样的:6
    E:select cast(ceiling(rand() * N) as signed) ;                    ---生成的数是这样的:6

 

原文地址:https://www.cnblogs.com/zengming/p/9041595.html