SQL生成随机字符串

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

1 1 Create PROCEDURE [dbo].[Test] 2 2 @Len int,--生成字符串的长度 3 3 @Type int--生成字符串的类型 1:全数字, 2:全大写字母,3:全小写字母,4:数字+大写字母+小写字母组合 4 4 AS 5 5 BEGIN 6 6 declare @rand1 int;--用于判断是获取字符串类型 1:数字,2:大写字母,3:小写字母,4:数字/大写字母/小写字母 7 7 declare @rand2 int;--用户获取随机数,拼接字符串 8 8 declare @rand int;--拼接后转为ASCII的数字 9 9 declare @returnStr nvarchar(100); set @returnStr='' 1010 1111 if(@Type=1) begin set @rand1=1 end; 1212 if(@Type=2) begin set @rand1=2 end; 1313 if(@Type=3) begin set @rand1=3 end; 1414 while(@Len>0) 1515 begin 1616 if(@Type=4) 1717 begin 1818 --RAND() 生成随机01之间的数字 1919 --CEILING() 向上取整 2020 set @rand1=CONVERT(INT, CEILING(RAND()*3)) 2121 end; 2222 --FLOOR() 向下取整 2323 set @rand2= CONVERT(INT, FLOOR(RAND()*26)); 2424 set @rand=case @rand1 when 1 then CONVERT(INT, FLOOR(RAND()*10))+48 2525 when 2 then @rand2+ 65 2626 else @rand2+ 97 end 2727 set @returnStr=@returnStr+char(@rand); 2828 set @Len=@Len-1 2929 end 3030 select @returnStr as randstr into #temp 3131 select * from #temp 3232 END 3333 3434 3535 --select char(48),char(49),char(57) ---48-57 (数字) 103636 --select char(65),char(66),char(90) --65-90 (大写) 263737 --select char(97),char(98),char(122) --97-122 (小写) 26

View Code

点赞
收藏

评论区

加载中...

相关推荐

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

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

一篇文章带你了解JavaScript日期

日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用

SpringBoot整合Redis乱码原因及解决方案

问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa

SQL生成随机字符串 - HelloWorld