带您了解MySQL随机字符串函数

数据库 MySQL
MySQL数据库中的函数可以实现许多我们需要的功能,下文为您介绍的是随机字符串函数,希望对您学习MySQL函数方面能有所帮助。

MySQL随机字符串函数是我们经常会用到的函数,下面就为您详细介绍该函数的语法,如果您对MySQL随机字符串函数感兴趣的话,不妨一看。

  1. DROP FUNCTION IF EXISTS rand_string;  
  2. delimiter //  
  3. CREATE FUNCTION rand_string(l_num tinyint UNSIGNED,l_type tinyint UNSIGNED)  
  4. RETURNS varchar(127)  
  5. BEGIN  
  6.  -- Function : rand_string  
  7.  -- Author   : dbachina#dbachina.com  
  8.  -- Date     : 2010/5/30  
  9.  -- l_num : The length of random string  
  10.  -- l_type: The string type  
  11.  --         1.0-9  
  12.  --         2.a-z  
  13.  --         3.A-Z  
  14.  --         4.a-zA-Z  
  15.  --         5.0-9a-zA-Z  
  16.  -- <for example> :  
  17.   -- mysql> select rand_string(12,5) random_string;  
  18.   -- +---------------+  
  19.   -- | random_string |  
  20.   -- +---------------+  
  21.   -- | 3KzGJCUJUplw  |  
  22.   -- +---------------+  
  23.   -- 1 row in set (0.00 sec)  
  24.  DECLARE i int UNSIGNED DEFAULT 0;  
  25.  DECLARE v_chars varchar(64) DEFAULT '0123456789';  
  26.   DECLARE result varchar ( 255) DEFAULT '';  
  27.  
  28.   IF l_type = 1 THEN  
  29.     SET v_chars = '0123456789';  
  30.   ELSEIF l_type = 2 THEN  
  31.     SET v_chars = 'abcdefghijklmnopqrstuvwxyz';  
  32.   ELSEIF l_type = 3 THEN  
  33.     SET v_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';  
  34.   ELSEIF l_type = 4 THEN  
  35.     SET v_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';  
  36.   ELSEIF l_type = 5 THEN  
  37.     SET v_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';  
  38.   ELSE  
  39.     SET v_chars = '0123456789';  
  40.   END IF;  
  41.  
  42.   WHILE i < l_num DO  
  43.       SET result = concat( result,substr(v_chars,ceil(rand()*(length(v_chars)-1)),1) );  
  44.     SET ii = i + 1;  
  45.   END WHILE;  
  46.   RETURN result;  
  47. END;  
  48. //  
  49. delimiter ;  

 

 

 

【编辑推荐】

深入研究MySQL结果字符串

MySQL截取字符串函数方法

MySQL字符串各列类型的区别

MySQL replace函数替换字符串

MySQL字符串相加函数用法示例

责任编辑:段燃 来源: 互联网
相关推荐

2010-10-25 11:51:05

Oracle单行字符串

2010-10-21 15:26:35

SQL Server字

2010-10-09 14:00:10

mysql CONCA

2010-11-01 15:06:52

MYSQL字符串连接

2010-10-09 15:57:56

MySQL GROUP

2010-10-11 16:45:18

MySQL ifnul

2010-10-09 14:08:52

MYSQL Cast函

2010-10-25 16:29:45

Oracle随机数产生

2010-10-14 11:41:03

mysql变量

2010-10-25 15:04:39

Oracle文本函数

2010-11-26 10:22:28

MySQL字符串比较

2010-10-12 13:14:11

mysql索引类型

2010-10-22 11:40:33

MySQL的特点

2010-10-25 15:20:23

Oracle数据转换函

2010-09-16 14:38:55

Sql server表

2010-10-25 17:13:08

oracle分组函数

2010-10-09 10:49:07

MySQL默认字符集

2010-10-08 13:45:20

MYSQL中TIMES

2010-10-12 15:30:04

MySQL权限管理

2010-11-22 11:09:00

MySQL索引类型
点赞
收藏

51CTO技术栈公众号