В этом учебном пособии вы узнаете, как использовать MariaDB функцию RAND с синтаксисом и примерами.
Описание
MariaDB функция RAND может использоваться для возврата случайного числа или случайного числа в пределах диапазона.
Синтаксис
Синтаксис функции RAND в MariaDB:
Параметры или аргументы
- seed
- Необязательный. Если указано, он будет генерировать повторяемую последовательность случайных чисел каждый раз, когда предоставляется начальное значение.
Примечание
- Функция RAND будет возвращать значение от 0 (включительно) до 1 (исключая), поэтому значение >= 0 и значение < 1.
- Функция RAND вернет полностью случайное число, если начальное число не указано.
- Функция RAND будет возвращать повторяемую последовательность случайных чисел каждый раз, когда используется конкретное начальное значение.
Случайный десятичный диапазон
Чтобы создать случайное десятичное число между двумя значениями (диапазон), вы можете использовать следующую формулу:
1 |
SELECT RAND()*(b-a)+a; |
Где a - наименьшее число, а b - наибольшее число, для которого вы хотите сгенерировать случайное число.
1 |
SELECT RAND()*(25-10)+10; |
Приведенная выше формула генерирует случайное десятичное число от 10 до 25.
(Примечание: эта формула никогда не вернет значение 25, потому что случайная функция никогда не вернет 1.)
Случайный диапазон целых чисел
Чтобы создать случайное целое число между двумя значениями (включая диапазон), вы можете использовать следующую формулу:
1 |
SELECT FLOOR(RAND()*(b-a+1))+a; |
Где a - наименьшее число, а b - наибольшее число, для которого вы хотите сгенерировать случайное число.
1 |
SELECT FLOOR(RAND()*(25-10+1))+10; |
Приведенная выше формула будет генерировать случайное целое число от 10 до 25 включительно.
Применение
Функцию RAND можно использовать в следующих версиях MariaDB:
- MariaDB 10
Пример случайного числа
Рассмотрим, как использовать функцию RAND в MariaDB для генерации случайного числа >= 0 и < 1. Например:
1 2 3 4 5 6 7 8 9 10 11 |
SELECT RAND(); --Результат: 0.6617959250340201 (нет начального значения, поэтому ваш ответ будет отличаться) SELECT RAND(8); --Результат: 0.15668530311126755 (с начальным значением 8) SELECT RAND(-6); --Результат: 0.6541217748579772 (с начальным значением -6) |
Хотя функция RAND вернет значение 0, она никогда не вернет значение 1. Она всегда вернет значение меньше 1.
Пример случайного десятичного диапазона
Рассмотрим, как использовать функцию RAND в MariaDB для генерации случайного десятичного числа между двумя числами (т.е. диапазон).
Например, следующее будет генерировать случайное десятичное значение, которое >= 1 и < 10
(Примечание: никогда не вернет значение 10):
1 2 3 4 5 6 7 8 9 10 11 |
SELECT RAND()*(10-1)+1; --Результат: 1.124445336986748 <span class="arg">(нет начального значения, поэтому ваш ответ будет отличаться)</span> SELECT RAND(8)*(10-1)+1; --Результат: 2.410167728001408 (с начальным значением 8) SELECT RAND(-6)*(10-1)+1; --Результат: 6.887095973721794 (с начальным значением -6) |
Пример случайного целочисленного диапазона
Рассмотрим, как использовать функцию RAND в MariaDB для генерации случайного целого числа между двумя числами (т.е. включающий диапазон)
Например, следующее будет генерировать случайное целое значение от 50 до 75:
1 2 3 4 5 6 7 8 9 10 11 |
SELECT FLOOR(RAND()*(75-50+1))+50; --Результат: 57 (нет начального значения, поэтому ваш ответ будет отличаться) SELECT FLOOR(RAND(8)*(75-50+1))+50; --Результат: 54 (с начальным значением 8) SELECT FLOOR(RAND(-6)*(75-50+1))+50; --Результат: 67 (с начальным значением -6) |