博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL生成n位随机字符串
阅读量:6844 次
发布时间:2019-06-26

本文共 1506 字,大约阅读时间需要 5 分钟。

--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 */

转载地址:http://ztsul.baihongyu.com/

你可能感兴趣的文章
LeetCode Binary Tree Level Order Traversal 2
查看>>
Barebox for Tiny6410(NAND Flash驱动移植)
查看>>
认识错误
查看>>
Codeforces Ilya and Matrix
查看>>
flex PopUpManager 的使用
查看>>
oracle 11g PL/SQL Programming学习十二
查看>>
SharePoint场管理-PowerShell(二)
查看>>
twisted 学习笔记一:事件循环
查看>>
哈希----字符串----time33
查看>>
算法学习之顺序结构
查看>>
10个简单实用的 jQuery 代码片段
查看>>
hbase 部署
查看>>
SQL*Plus环境变量设置浅析
查看>>
UVA 10557 XYZZY
查看>>
UVA 297 Quadtrees(四叉树建树、合并与遍历)
查看>>
MyEclipse使用总结——MyEclipse文件查找技巧
查看>>
23种设计模式(5):原型模式
查看>>
MySQL 5.6 GTID Replication
查看>>
数学图形(1.22) 蔓叶线
查看>>
全面分析 Spring 的编程式事务管理及声明式事务管理--转
查看>>