SQL生成随机字符串

Wesley13
• 阅读 494

创建存储过程可以解决此问题

SQL生成随机字符串 SQL生成随机字符串

 1 Create PROCEDURE [dbo].[Test]
 2 @Len int,--生成字符串的长度
 3 @Type int--生成字符串的类型 1:全数字, 2:全大写字母,3:全小写字母,4:数字+大写字母+小写字母组合
 4 AS
 5 BEGIN
 6 declare @rand1 int;--用于判断是获取字符串类型 1:数字,2:大写字母,3:小写字母,4:数字/大写字母/小写字母
 7 declare @rand2 int;--用户获取随机数,拼接字符串
 8 declare @rand int;--拼接后转为ASCII的数字
 9 declare @returnStr nvarchar(100); set @returnStr=''
10 
11 if(@Type=1) begin set @rand1=1 end;
12 if(@Type=2) begin set @rand1=2 end;
13 if(@Type=3) begin set @rand1=3 end;
14 while(@Len>0)
15 begin
16 if(@Type=4) 
17 begin 
18 --RAND() 生成随机0到1之间的数字
19 --CEILING() 向上取整
20 set @rand1=CONVERT(INT, CEILING(RAND()*3)) 
21 end;
22 --FLOOR() 向下取整
23 set @rand2= CONVERT(INT, FLOOR(RAND()*26));
24 set @rand=case @rand1 when 1 then CONVERT(INT, FLOOR(RAND()*10))+48 
25 when 2 then @rand2+ 65
26 else @rand2+ 97 end
27 set @returnStr=@returnStr+char(@rand);
28 set @Len=@Len-1
29 end
30 select @returnStr as randstr into #temp
31 select * from #temp
32 END
33 
34 
35 --select char(48),char(49),char(57) ---48-57 (数字) 10个
36 --select char(65),char(66),char(90) --65-90 (大写) 26个
37 --select char(97),char(98),char(122) --97-122 (小写) 26个

View Code

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Karen110 Karen110
3年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Stella981 Stella981
3年前
SpringBoot使用@ServerEndpoint无法依赖注入问题解决(WebSocket)
!(https://oscimg.oschina.net/oscnet/up8420801906305684903bceca6a85673cb00.png)!(https://oscimg.oschina.net/oscnet/upf7112141748204868f0368c51f4ea919103.png)如上两图所示,在WebSoc
Easter79 Easter79
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Easter79 Easter79
3年前
SpringBoot使用@ServerEndpoint无法依赖注入问题解决(WebSocket)
!(https://oscimg.oschina.net/oscnet/up8420801906305684903bceca6a85673cb00.png)!(https://oscimg.oschina.net/oscnet/upf7112141748204868f0368c51f4ea919103.png)如上两图所示,在WebSoc