带您了解MySQL随机字符串函数
创始人
2024-07-18 09:01:56
0

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

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...