sql生成随机字符串
2017-12-07 10:00
169 查看
--1、借助newid() go --创建视图(因为在函数中无法直接使用newid()) createviewvnewid as selectnewid()N'MacoId'; go --创建函数 createfunctiongetrandstr(@nint) returnsvarchar(max) as begin declare@iint set@i=ceiling(@n/32.00) declare@jint set@j=0 declare@kvarchar(max) set@k='' while@j<@i begin select@k=@k+replace(cast(MacoIdasvarchar(36)),'-','')fromvnewid set@j=@j+1 end set@k=substring(@k,1,@n) return@k end --测试示例 selectdbo.getrandstr(75) --运行结果 /* D185504AD09C4D5796F7016983E67414CEE25162EA9F43D195D43328A4CF01AC7C586521D8E */ --我们可以发现结果中的字母都是大写的,或是都是小写的。 --换种方法来写下: go --创建函数 createfunction[dbo].[m_rand](@mycountint) returnsnvarchar(2000) as begin declare@maco_wangtable(idvarchar(1)) declare@maco_numberint,@numberint; declare@my_onenvarchar(max),@my_twonvarchar(max) set@my_one='';set@maco_number=0;set@number=48; while(@number>=48and@number<=57)or(@number>=65and@number<=90)or(@number>=97and@number<=122) begin insertinto@maco_wangselectchar(@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=idfrom@maco_wang orderby(selectMacoIdfromdbo.vnewid); set@my_one=@my_two+@my_one; set@maco_number=@maco_number+1; end return@my_one end --测试用例 select[dbo].[m_rand](75) --运行结果 /* 5nN0w4o4VOkjacB5so2uvCuw2ZRrnBhxEi4IcsEOHzBbStKmR1p8ASH4N4XaxhDoDEtkX8bZ0CR */
declare
@iint
set@i=1
while@i<=100000
begin
insertintotbl_Aselect[dbo].[m_rand](5)
set@i=@i+1
end
updatetbl_CsetUserPass=tbl_D.UserNamefromtbl_C,tbl_Dwheretbl_D.UserName=tbl_C.UserName
相关文章推荐
- 生成随机字符串的SQL实现
- SQL生成随机字符串
- SQL生成n位随机字符串
- 关于SQL生成随机字符串
- SQL生成n位随机字符串
- sql-server2005下生成定长的随机字符串
- js随机生成字母数字组合的字符串 随机动画数字
- 生成10位随机字符串
- Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- C#随机生成不重复字符串的两个不错方法
- java 生成随机字符串
- 1分钟左右随机生成2000万行随机字符串
- php 生成随机字符串(无重复)
- VB.NET 数据库查询 [SQL字符串的生成]
- php生成随机字符串和验证码的类
- ASP生成随机字符串(数字+大小写字母)的代码
- Script:shell脚本生成随机字符串
- 【RFS】【robotframework_1】生成随机数字和随机字符串
- 生成一个随机字符串
- 如何执行SQL脚本随机在用户表中生成N条记录