Search code examples
sql-servert-sqlhashbytes

Create a random string of digits


I need to create a random string of digits of given length

CREATE FUNCTION UniqConvert
(@calue as varchar(max),
@len as int)

The output should be of the length @len and should be unique per input @value

I already asked similar question: Create random string of digits T-SQL This one has different concept


Solution

  • declare @len int
    set @len = 3
    DECLARE @Random INT      
    DECLARE @Upper INT      
    DECLARE @Lower INT
    SET @Lower = power(10,@Len-1) ---- The lowest random number      
    SET @Upper = power(10,@Len )-1 ---- The highest random number      
    SELECT @Random = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0) 
    
    select  @Random