SqlServer 产生随机数
2015-12-21 10:41
471 查看
ALTER PROCEDURE [dbo].[usp_RandomNumber] ( @Len INT = 1, --随机数位数 @Rows INT = 1 --随机笔数 ) AS BEGIN DECLARE @T AS TABLE([Random Number] VARCHAR(MAX)) DECLARE @L INT = 1, @R INT = 1 WHILE @R <= @Rows BEGIN DECLARE @RN varchar(MAX) = '' WHILE @L <= @Len --随机产生每个随数的位数 BEGIN SET @RN = @RN + CHAR(ROUND(RAND() * 9 + 48,0)) SET @L = @L + 1 END --如果产生相同的随机数,将不会存储 IF NOT EXISTS(SELECT [Random Number] FROM @T WHERE [Random Number] = @RN) BEGIN INSERT INTO @T SELECT @RN --INSERT INTO @T ([Random Number])VALUES (@RN) SET @R = @R + 1 --记录总共产生了几笔随机数 SET @L = 1 -- 每产生完一个随机数之后,将随机数的位数初始化为1 END END Return @RN END
调用:
EXECUTE [dbo].[usp_RandomNumber] 8,1
相关文章推荐
- 关于postgesql中转义字符说明
- Oracle卸载
- java连接oracle示例代码
- mysql错误代码1045的解决方案
- 自定义异常
- 通过SQL Server Profiler来监视分析死锁
- Oracle连接外库问题
- Mysql中间件研究(Atlas,cobar,TDDL)
- 解决 Oracle virtual box 无法卸载 卸载后无法安装 而且还出现无法上网的问题
- 如何提升sqlite中blob数据的查询性能
- W3School的SQL测试
- sqlplus 命令行格式(set,col等)
- sqlplus 命令行格式(set,col等)
- sqlplus 命令行格式(set,col等)
- sqlplus 命令行格式(set,col等)
- sqlplus 命令行格式(set,col等)
- sqlplus 命令行格式(set,col等)
- sqlplus 命令行格式(set,col等)
- sqlplus 命令行格式(set,col等)
- sqlplus 命令行格式(set,col等)