`

sql 生成不重复的随机数

    博客分类:
  • SQL
 
阅读更多
--创建视图(因为在函数中无法直接使用newid())    
create view V_Newid    
as    
select newid() N'MacoId';    
go    
--创建函数   
create function sf_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 V_Newid    
    set @j=@j+1    
    end    
    set @k=substring(@k,1,@n)    
return @k    
end    

select dbo.sf_getrandstr(10)


此实例经过测试100万条数据内,10位的随机数都不会重复
转自:http://blog.csdn.net/mssql_dba/article/details/39694563
分享到:
评论

相关推荐

    sqlserver 不重复的随机数

    总之,SQL Server提供了强大的功能来生成不重复的随机数,结合CHAR()和RAND()函数,以及自定义存储过程,可以满足各种场景下的需求。通过理解这些函数的工作原理,开发者可以灵活地创建自己的解决方案来适应特定的...

    随机产生8位无重复数

    2. **去除重复**:为了确保生成的随机数不重复,可以使用HashSet或数据库来存储已经生成过的随机数,每次生成新数时,都会先检查该数是否已存在,如果不存在则添加并返回,否则继续生成新的随机数。 3. **数据库...

    生成类别随机数

    每次调用时,它都会产生不同的种子,确保生成的随机数序列不重复。 3. **数组操作**: ```vb Dim f_Randchar, f_Randchararr, f_RandLen, f_Randomizecode, f_iR f_Randchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F...

    在一个时间点 生成多个随机数 生成N组长度固定的随机下标组合

    在编程领域,生成多个随机数是一项常见的任务,尤其在设计具有随机性或个性化的系统时。C#作为一款广泛使用的编程语言,提供了丰富的工具来帮助我们实现这一目标。本篇文章将详细探讨如何在C#中生成多个随机数,以及...

    ft_bigID(生成19位的Long Integer类型的数据).sql

    ft_bigID(生成19位的Long Integer类型的数据),生成唯一的随机码。

    Oracle里取随机数的几种具体的方法

    除了使用 DBMS_RANDOM 包外,还有其他方法可以生成随机数,例如使用 Oracle 的内置函数、使用 PL/SQL 语言等。这些方法可以根据实际情况选择。 Oracle 提供了多种方法来生成随机数,每种方法都有其优缺点,选择合适...

    生成300个不同的随机数的SQL语句

    这个例子展示了如何在SQL Server中利用T-SQL语法生成一组特定数量的不重复随机数。值得注意的是,这种方法适用于小规模的数据生成,但如果需要生成大量不重复的随机数,可能需要考虑更高效的方法,例如使用游标、...

    mysql生成指定位数的随机数及批量生成随机数的方法

    尽管在单个记录中使用 `RAND()` 可能不会立即引起问题,但如果你需要大量不重复的随机数,可能需要采用不同的策略,如先生成一个不重复的数字序列,然后再进行分配。 在实际应用中,生成随机数可以用于创建测试数据...

    TIA博途-随机函数全局库文件V15.1版本.rar

    开发者可以在多个程序块之间方便地调用相同的随机数生成逻辑,而不必担心重复编写代码或出现不一致的实现。此外,由于库文件由西门子官方提供,其稳定性和效率都有保障,用户可以放心使用。 在实际应用中,TIA博途...

    C#查询Access增加12位不重复随机号(含源码).rar

    在给定的标题“C#查询Access增加12位不重复随机号(含源码).rar”中,我们可以看到一个具体的任务:使用C#语言,通过查询Access数据库来生成和管理12位的不重复随机数,这通常用于创建唯一标识,如防伪码或序列号。...

    SQL Server中生成随机浮点数

    若要确保生成的随机数包含a但不包含b,我们可以稍微调整一下公式: ```sql a + RAND() * (b - a) * 0.99999 ``` 这里的0.99999是为了确保不会超过b,你可以根据需要的精度调整这个值。 另外,如果你希望生成的是0...

    ASP.NET中产生随机数

    在非安全性领域,如游戏开发、测试数据生成等方面也离不开随机数的支持。 #### 二、ASP.NET中随机数生成的方法 在ASP.NET中,生成随机数主要依赖于.NET Framework提供的`System.Random`类。此外,对于更高级的需求...

    Oracle 随机数

    Oracle数据库提供了一个名为DBMS_RANDOM的包,用于生成随机数,这对于各种应用场景,如模拟、测试和数据分析等非常有用。在Oracle 9i版本中,你可以利用DBMS_RANDOM包的函数来实现特定的需求,比如随机选取数据库表...

    SQL Server中的RAND函数的介绍和区间随机数值函数的实现

    通过将NEWID()作为CHECKSUM()的参数,你可以确保每次调用都产生一个不重复的int值。 如果要生成指定区间内的随机整数,可以结合使用RAND()、ABS()和MODULO运算(在SQL Server中通常用%表示)。例如,若要生成3到5...

    测试多种方法生成唯一性随机码Demo

    UUID基于时间戳、随机数和MAC地址等信息生成,几乎不可能重复。在Java、Python等语言中都有内置库支持生成UUID。 2. **时间戳+随机数**: 结合当前时间戳(毫秒或微秒级别)和一定范围内的随机数可以创建唯一编码...

    一种基于SQL的元组集随机抽取算法.pdf

    在某些应用场景中,例如在线考试系统、计算机自动出题、座号安排等,需要从题库数据库中随机选取试题,这就要求算法能够高效地生成不重复的随机数序列来访问记录集合。 传统的做法通常涉及确定记录总数,设置随机数...

    VS6.0+SQLServer2000实现电话充值卡卡号和卡密自动生成系统,并写入数据库和文件

    此外,为了避免生成重复的卡号,开发者可能还实现了一个去重机制,比如使用哈希表或数据库查询来检查新生成的卡号是否已经存在。 写入数据库的过程涉及到数据库操作,包括建立相应的数据表结构,定义卡号和加密卡密...

    C++Review 实现与数据库连接并用到Base64算法和随机数算法代码

    6. **随机数在数据库中的应用**:在数据库操作中,随机数可能用于生成唯一标识符、模拟随机数据、或在测试环境中生成不确定行为。例如,你可以生成随机ID避免主键冲突,或者在创建测试数据时使用随机数据填充字段。 ...

Global site tag (gtag.js) - Google Analytics