SQL生成n位随机字符串
--1、借助newid()
go
--创建视图(因为在函数中无法直接使用newid())
create view vnewid
as
select newid() N'MacoId';
go
--创建函数
create function getrandstr(@n int)
returns varchar(max)
as
begin declare @i int set @i=ceiling(@n/32.00) declare @j int set @j=0 declare @k varchar(max) set @k='' while @j<@i begin select @k=@k+replace(cast(MacoId as varchar(36)),'-','') from vnewid set @j=@j+1 end set @k=substring(@k,1,@n)
return @k
end --测试示例
select dbo.getrandstr(75)
--运行结果
/*
D185504AD09C4D5796F7016983E67414CEE25162EA9F43D195D43328A4CF01AC7C586521D8E
*/ --我们可以发现结果中的字母都是大写的,或是都是小写的。
--换种方法来写下:
go
--创建函数
create function [dbo].[m_rand](@mycount int)
returns nvarchar(2000)
as
begin declare @maco_wang table (id varchar(1)) declare @maco_number int,@number int; declare @my_one nvarchar(max),@my_two nvarchar(max) set @my_one='';set @maco_number=0; set @number =48; while (@number>=48 and @number<=57) or (@number>=65 and @number<=90) or (@number>=97 and @number<=122) begin insert into @maco_wang select char(@number) set @number=@number+1; if(@number=58) begin set @number=65 end if(@number=91) begin set @number=97 end end while @maco_number<@mycount begin select @my_two=id from @maco_wang order by (select MacoId from dbo.m_macoview); set @my_one=@my_two+@my_one; set @maco_number=@maco_number+1; end return @my_one
end
--测试用例
select [dbo].[m_rand](75)
--运行结果
/*
5nN0w4o4VOkjacB5so2uvCuw2ZRrnBhxEi4IcsEOHzBbStKmR1p8ASH4N4XaxhDoDEtkX8bZ0CR
*/
SQL生成n位随机字符串相关推荐
- bash 生成N位随机字符串
seq 产生一个数到另一个数的所有整数 $seq 2 10 2 3 4 5 6 7 8 9 10 $seq 10 1 2 3 4 5 6 7 8 9 10 $RANDOM 随机数 ${varibale ...
- Python:生成6位随机字符串,字符可以是数字、大写字母、小写字母
#!/usr/bin/env python # coding:UTF-8""" @version: python3.x @author:曹新健 @contact: 617 ...
- js生成8位随机字符串密码
最近做了一个功能,随机生成一个8位字符串密码: 要求必须包含大写字母.小写字母和数字,下面和大家分享下 首先我们要了解下 ASCLL码 js提供两个方法: 分别将ASCLL码转为字符:String.f ...
- 生成16位随机字符串的方法
function getNonce(){$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';$noncest ...
- java生成随机6个数字和字母_java_Java生成含字母和数字的6位随机字符串,本文实例为大家分享了Java生成 - phpStudy...
Java生成含字母和数字的6位随机字符串 本文实例为大家分享了Java生成6位随机字符串的实现代码,具体内容如下 package com.amos.tools; import java.util.Ar ...
- java随机产生字母排序_Java生成含字母和数字的6位随机字符串
本文实例为大家分享了Java生成6位随机字符串的实现代码,具体内容如下 package com.amos.tools; import java.util.ArrayList; import java. ...
- java生成6随机数字和字母_Java生成含字母和数字的6位随机字符串
本文实例为大家分享了Java生成6位随机字符串的实现代码,具体内容如下 package com.amos.tools; import java.util.ArrayList; import java. ...
- Linux Shell 生成随机数和随机字符串
日常生活中,会经常用到随机数,使用场景非常广泛,例如买彩票.丢骰子.抽签.年会抽奖等. Shell 下如何生成随机数呢,米扑博客特意写了本文,总结 Linux Shell 产生随机数的多种方法. 本文 ...
- java实现生成指定位数随机字符串要求包含数字大小写字母三种类型字符
今天接到一个初始密码生成的需求,要求生成的密码长度在8-16位,其中必须包含数字.大写字母.小写字母.平常都是使用hutool工具类进行字符处理,发现没有提供满足要求的方法,自己就根据现有的方法组装实 ...
最新文章
- 做技术到底可以做到哪种地步-技术为什么越走越窄 (转)
- 独家 | 带你认识机器学习的的本质(附资料)
- 工业用微型计算机(18)-指令系统(13)
- html设置按钮样式变为椭圆,css border-radius圆形变为椭圆形,位置:绝对
- H5-geolocation学习
- 深入理解es module
- linkedhashmap遍历_Java集合:浅谈LinkedHashMap、LinkedHashSet源码及LRU算法实现
- 递推公式与递归退出的条件
- 23.3. DELETE
- VS注释和取消注释快捷键自定义
- mysql体系结构内存_mysql 内存体系结构--session
- SURF特征提取(使用matlab自带函数)
- Origin软件绘制柱形图
- 又一场“人机大战”?来自AI open无情碾压!
- arcGis for js 3D marker
- SEM1 PSYCHOLOGY LEC2
- TT 的旅行日记 Week7作业B题
- golang mysql 崩溃_使用GoLang与mysql连接失败
- Texture2D变Sprite
- 盛天海电商:拼多多活动怎么去定位?