Member 10744248 Ответов: 2

Сгенерируйте случайное число с 12 цифрами попробовал недооцененный запрос имел 9 цифр


DECLARE @Random INT;
DECLARE @Upper INT;
DECLARE @Lower INT

--- This will create a random number between 1 and 999
SET @Lower = 1 ---- The lowest random number
SET @Upper = 999999999 ---- The highest random number
SELECT @Random = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0)
SELECT @Random


Что я уже пробовал:

Провел исследования в интернете и проанализировал некоторые внутренние коды

[no name]

Вы случайно не занимались исследованием того, как задать вопрос?

2 Ответов

Рейтинг:
8

Patrice T

А вы пробовали:

SET @Upper = 999999999999 ---- The highest random number


Рейтинг:
12

Suvendu Shekhar Giri

Попробуй-

SELECT FLOOR(RAND(CHECKSUM(NEWID()))*(999999999999-100000000000)+100000000000)

Вы можете украсить его переменной (если вы думаете, что это имеет смысл)
DECLARE @Upper BIGINT
DECLARE @Lower BIGINT

SET @Lower = 100000000000 ---- The lowest random number
SET @Upper = 999999999999 ---- The highest random number

SELECT @Random=FLOOR(RAND(CHECKSUM(NEWID()))*(@Upper-@Lower)+@Lower)

SELECT @Random

Или вы можете изменить свой запрос следующим образом-
DECLARE @Random BIGINT;
DECLARE @Upper BIGINT
DECLARE @Lower BIGINT
 
--- This will create a random number between 1 and 999
SET @Lower = 100000000000 ---- The lowest random number
SET @Upper = 999999999999 ---- The highest random number

SELECT @Random = ROUND(((@Upper - @Lower -100000000000) * RAND() + @Lower), 0)

SELECT @Random


Надеюсь, это поможет :)