В этом учебном пособии вы узнаете, как использовать функцию RAND в SQL Server (Transact-SQL) с синтаксисом и примерами.
Описание
В SQL Server (Transact-SQL) функция RAND может использоваться для возврата случайного числа или случайного числа в пределах диапазона.
Синтаксис
Синтаксис функции RAND в SQL Server (Transact-SQL):
Параметры или аргументы
param - необязательный. Если указано, он будет воспроизводить последовательность случайных чисел каждый раз, когда будет предоставлено начальное значение.
Случайный десятичный диапазон
Чтобы создать случайное десятичное число между двумя значениями (диапазон), вы можете использовать следующую формулу:
1 |
SELECT RAND()*(b-a)+a; |
Где a - наименьшее число, а b - наибольшее число, для которого вы хотите создать случайное число.
1 |
SELECT RAND()*(15-5)+5; |
Вышеприведенная формула создаст случайное десятичное число от 5 до 15.
Случайный целочисленный диапазон
Чтобы создать случайное целое число между двумя значениями (диапазон), вы можете использовать следующую формулу:
1 |
SELECT FLOOR(RAND()*(b-a)+a); |
Где a - наименьшее число, а b - наибольшее число, для которого вы хотите создать случайное число.
1 |
SELECT FLOOR(RAND()*(15-5)+5); |
Вышеприведенная формула генерирует случайное целое число от 5 до 15.
Применение
Функция RAND может использоваться в следующих версиях SQL Server (Transact-SQL):
SQL Server vNext, SQL Server 2016, SQL Server 2015, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005
Пример случайного числа
Рассмотрим пример, как использовать функцию RAND в SQL Server (Transact-SQL) для генерации случайного числа от 0 до 1 включительно.
Например:
1 2 3 4 5 6 7 8 |
SELECT RAND(); --Результат: 0,0530621130512421 (без значения param, поэтому ваш ответ будет отличаться) SELECT RAND(5); --Результат: 0,713666525097956 (со значением param = 5) SELECT RAND(-5); --Результат: 0,713666525097956 (со значением param = -5) |
Пример случайного десятичного диапазона
Рассмотрим, как использовать функцию RAND в SQL Server (Transact-SQL) для генерации случайного десятичного числа между двумя числами (диапазон).
Следующее пример генерирует случайное десятичное значение от 1 до 10:
1 2 3 4 5 6 7 8 |
SELECT RAND()*(10-1)+1; --Результат: 5,09104269717813 (без значения param, поэтому ваш ответ будет отличаться) SELECT RAND(7)*(10-1)+1; --Результат: 7,42333411936426 (со значением param = 7) SELECT RAND(-7)*(10-1)+1; --Результат: 7,42333411936426 (со значением param = -7) |
Пример случайного целочисленного диапазона
Рассмотрим, как использовать функцию RAND в SQL Server (Transact-SQL) для генерации случайного целочисленного числа между двумя числами (диапазон).
Следующий пример генерирует случайное целочисленное значение от 1 до 10:
1 2 3 4 5 6 7 8 |
SELECT FLOOR(RAND()*(10-1)+1); --Результат: 9 (без значения param, поэтому ваш ответ будет отличаться) SELECT FLOOR(RAND(7)*(10-1)+1); --Результат: 7 (со значением param = 7) SELECT FLOOR(RAND(-5)*(10-1)+1); --Результат: 7 (со значением param = -5) |