龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > MySQL 技术 >

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

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
MySQL随机字符串函数是我们经常会用到的函数,下面就为您详细介绍该函数的语法,如果您对 MySQL 随机字符串函数感兴趣的话,不妨一看。 DROPFUNCTIONIFEXISTSrand_string; delimiter// CREATEFUNCT

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字符串相加函数用法示例


精彩图集

赞助商链接