zoukankan      html  css  js  c++  java
  • MySQL 随机生成各种类型的随机函数

    DROP FUNCTION IF EXISTS rand_string;
    delimiter //
    CREATE FUNCTION rand_string(l_num tinyint UNSIGNED,l_type tinyint UNSIGNED)
    RETURNS varchar(127)
    BEGIN
     -- Function : rand_string
     -- Author   : dbachina#dbachina.com
     -- Date     : 2010/5/30
     -- l_num : The length of random string
     -- l_type: The string type
     --         1.0-9
     --         2.a-z
     --         3.A-Z
     --         4.a-zA-Z
     --         5.0-9a-zA-Z
     -- <for example> :
      -- mysql> select rand_string(12,5) random_string;
      -- +---------------+
      -- | random_string |
      -- +---------------+
      -- | 3KzGJCUJUplw  |
      -- +---------------+
      -- 1 row in set (0.00 sec)
     DECLARE i int UNSIGNED DEFAULT 0;
     DECLARE v_chars varchar(64) DEFAULT '0123456789';
      DECLARE result varchar ( 255) DEFAULT '';

      IF l_type = 1 THEN
        SET v_chars = '0123456789';
      ELSEIF l_type = 2 THEN
        SET v_chars = 'abcdefghijklmnopqrstuvwxyz';
      ELSEIF l_type = 3 THEN
        SET v_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
      ELSEIF l_type = 4 THEN
        SET v_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
      ELSEIF l_type = 5 THEN
        SET v_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
      ELSE
        SET v_chars = '0123456789';
      END IF;

      WHILE i < l_num DO
          SET result = concat( result,substr(v_chars,ceil(rand()*(length(v_chars)-1)),1) );
        SET i = i + 1;
      END WHILE;
      RETURN result;
    END;
    //
    delimiter ;

  • 相关阅读:
    html5画布
    html5标签及语义化
    MarkDown:基础知识
    20180624_Git分支管理之多人协作
    20180624_Git管理之Feature分支
    20180619_Git 分支管理之bug分支
    20180618_Git分支管理策略, 不使用Fast forward模式.
    20180618_Git分支管里之解决冲突
    20180618_Git的分支管理
    20180618_在githhub上创建远程仓库,再克隆远程仓库的代码
  • 原文地址:https://www.cnblogs.com/lome/p/1983875.html
Copyright © 2011-2022 走看看