mysql自定义随机字符串的实现方法 浏览:916

前几天在开发一个系统时,需要使用一个随机字符串,但是mysql库函数都直接提供了,只需使用已有函数的随机字符串即可。把各种东西放在一起,达到下面简单的说的时候。



1。简单粗暴。


选择…,子串(MD5(RAND()),地板(RAND()* 26)+ 1,6)作为rand_str…


上诉的例子是随机的6位字符串。



功能解释:



伦德():小数地方产生0-1之间的,称为伦德()×25,是由0-25,不是25



楼层(缬氨酸):生成与瓦尔最近的最大整数



MD5():字符串上的MD5加密(丹翔),字符串的长度为32位。



Substring (STR, POS, len): intercept the string. 第一个参数是要截断的字符串,第二个参数是开始位置(这里是不同的,下标起始位置是1,您可以尝试下),第三个参数是截取长度。




2。将其包装在模式1中:自定义函数




如果存在rand_str功能下降;
第一句:如果有#重复功能,它将被删除
创建功能rand_str(strlen返回SmallInt)varchar(255)
#二:定义一个函数的名字,'rand_str strlen,参数参数类型为SmallInt类型varchar的返回值(255),特别注意这里是以下的收益回报
#开始
左大括号{#等效
声明result_str varchar(255)违约;
#语句返回一个值对象、类型、长度、默认值
集result_str = substring(MD5(RAND()函数strlen),32,);
#设置返回值的目标函数值在1是简单粗暴
返回result_str;
#返回对象返回
结束
#结束的标志是相当于}


三.自定义函数直接在代码上



没有解释每句话的执行情况,可以参加模式2的代码解释。


如果存在rand_str功能下降;
创建功能rand_str(strlen返回SmallInt)varchar(255)
开始
声明randstr varchar(255)default'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz1234567890;
声明我SmallInt默认0;
声明resultstr varchar(255)违约;
当我做<< strlen
集resultstr = concat(substr(randstr,地板(RAND((RAND()*长度(randstr))+ 1),resultstr);
设置i = i + 1;
结束的时候;
返回resultstr;
结束


以上是一个MySQL的自定义的随机字符串由Xiaobi提出的实现方法,希望对你有帮助。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站。
推荐文章1
广告