DROP FUNCTION IF EXISTS rand_string;    

DELIMITER $$

CREATE FUNCTION rand_string(str_length TINYINT UNSIGNED, str_type TINYINT UNSIGNED) RETURNS VARCHAR(255)
BEGIN
-- Function : rand_string
-- Author : reymondtu#opencfg.com
-- Date : 2011/03/27
-- Params : str_length int unsigned
-- The random string length of random string
-- str_type int unsigned
-- The random string type
-- 1.0-9
-- 2.a-z
-- 3.A-Z
-- 4.a-zA-Z
-- 5.0-9a-zA-Z
--
-- Example :
--
-- mysql> select rand_string(32,5) from dual;
-- +----------------------------------+
-- | rand_string(32,5) |
-- +----------------------------------+
-- | HbPBz4DWSAiJNLt4SgExHVwQI34bI6mt |
-- +----------------------------------+
-- 1 row in set DECLARE counter INT UNSIGNED DEFAULT 0;
DECLARE const_chars VARCHAR(64) DEFAULT '0123456789';
DECLARE result VARCHAR(255) DEFAULT ''; IF str_type = 1 THEN
SET const_chars = '0123456789';
ELSEIF str_type = 2 THEN
SET const_chars = 'abcdefghijklmnopqrstuvwxyz';
ELSEIF str_type = 3 THEN
SET const_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
ELSEIF str_type = 4 THEN
SET const_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
ELSEIF str_type = 5 THEN
SET const_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
ELSE
SET const_chars = '0123456789';
END IF; WHILE counter < str_length DO
SET result = CONCAT(result,SUBSTR(const_chars,CEIL(RAND()*(LENGTH(const_chars)-1)),1));
SET counter = counter + 1;
END WHILE; RETURN result;
END ; $$
DELIMITER ;

转自:http://tuhaitao.iteye.com/blog/976936

【转】MySQL随机字符串生成的更多相关文章

  1. java 与日期转换相关的方法(java.util.date类型和java.sql.date类型互相转换)、随机字符串生成方法、UUID生产随机字符串

    package com.oop.util; import java.text.*; import java.util.UUID; import org.junit.Test; /* * 与日期相关的工 ...

  2. MySQL随机字符串函数批量插入数据

      简单举个例子: drop table if exists demo1 create table demo1 ( id int primary key auto_increment, name ) ...

  3. mysql随机字符串函数

    drop function if exists rand_str; delimiter $$ ) charset 'utf8' begin # 定义接收初始化类型 ) ; # 定义初始化数字 ) '; ...

  4. json字符串转为php数组,使用随机字符串生成订单号(学生笔记)

    //提交订单 function add_order(){ session_start(); // var_dump($_SESSION); // die(); // session_destroy() ...

  5. iOS 生成随机字符串 从指定字符串随机产生n个长度的新字符串

    随机字符串 - 生成指定长度的字符串 -(NSString *)randomStringWithLength:(NSInteger)len { NSString *letters = @"a ...

  6. mysql中的 随机字符串的生成

    方法1. SELECT SUBSTRING(MD5(RAND()),FLOOR(RAND()*26)+1,6) AS rand_str; 上诉示例产生的是:6位长度的随机字符串. 函数解释: rand ...

  7. random and password 在Linux下生成crypt加密密码的方法,shell 生成指定范围随机数与随机字符串

    openssl rand -hex n (n is number of characters) LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head ...

  8. Mysql 自定义随机字符串

    前几天在开发一个系统,需要用到随机字符串,但是mysql的库函数有没有直接提供,就简单的利用现有的函数东拼西凑出随机字符串来.下面简单的说下实现当时. 1.简单粗暴. select ..., subs ...

  9. mysql获取随机字符串和随机数的方法

    在我们开发的过程中,我们可能会需要在表中随机生成一些数据以供我们进行相应的测试. 就像我之前发的“mysql创建存储过程向数据表中加入规定条数的数据” 那么我们应该怎样生成随机的字符串和随机数字呢? ...

随机推荐

  1. Ubuntu下查看服务器cpu是否支持VT

    http://blog.51cto.com/zhangmingqian/1249522 Ubuntu下查看服务器cpu是否支持VT 原创wazjajl 2013-07-15 16:25评论(0)119 ...

  2. Spartan6系列之GTP Transceiver的介绍与使用

    1.       什么是GTP transceiver? GTP transceiver是FPGA里一种线速度达500Mb/sà6.6Gb/s的收发器,利用FPGA内部可编程资源可对其进行灵活地配置, ...

  3. python学习小结-字典key,val互换

    第一种,使用压缩器: >>> m = {'a': 1, 'b': 2, 'c': 3, 'd': 4} >>> zip(m.values(), m.keys()) ...

  4. 场景分割:MIT Scene Parsing 与DilatedNet 扩展卷积网络

    MIT Scene Parsing Benchmark简介 Scene parsing is to segment and parse an image into different image re ...

  5. Qt杂记——布局、信号与槽等

    1.QHBoxLayout布局设置拉伸: ui->TopLayout->setStretch(,); //left ui->TopLayout->setStretch(,); ...

  6. SpringBoot项目的mybatis逆向工程

    <dependencies> <!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot& ...

  7. Nginx 通过 certbot 为网站自动配置 SSL 证书并续期

    一.背景知识 1.1.http 和 https 是什么? 简单来说,http 是一个传输网页内容的协议,比如你看到的 http 开头的网站 http://www.163.com ,其网页上的文字.图片 ...

  8. 梦想CAD控件自定义实体实现

    一.增加自定义实体对象 调用DrawCustomEntity函数,绘制一个自定义实体对象. 下面代码绘制一个自定义实体,C#代码实现如下: private void DrawMlineCommand( ...

  9. 关闭的语句: next、关闭的 Resultset: next、关闭的连接: next问题

    如果在rs.next()之前关闭了Statement或PreparedStatement,会导致下面的异常: java.sql.SQLException: 关闭的语句: next 如果在rs.next ...

  10. vue中的跨域

    proxyTable: { '/zabbix_api': { target: 'http://10.88.22.8',//设置你调用的接口域名和端口号 别忘了加http changeOrigin: t ...