Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
MySQL: función aleatoria
Este tutorial de MySQL explica cómo usar MySQL función de rand Con sintaxis y ejemplos.
describir
La función RAND de MySQL se puede usar para devolver un número aleatorio o un rango de números aleatorios.
sintaxis
La sintaxis de la función RAND en MySQL es:
RAND( [seed] )
parámetro o parámetro
Las semillas son opcionales. Si se especifica, generará una secuencia repetible de números aleatorios cada vez que se proporcione un valor semilla.
notas
- La función ALEATORIO devolverá un valor entre 0 (inclusive) y 1 (exclusivo), por lo que el valor >= 0 y el valor < 1.
- Si no se proporciona ninguna semilla, la función RAND devolverá un número completamente aleatorio.
- La función RAND devuelve una secuencia repetible de números aleatorios cada vez que se usa un valor inicial específico.
rango decimal aleatorio
Para crear un número decimal aleatorio entre dos valores (rango), se puede utilizar la siguiente fórmula:
SELECT RAND()*(b-a)+a;
donde a es el número más pequeño y b es el número más grande para el cual se generarán números aleatorios.
SELECT RAND()*(25-10)+10;
La fórmula anterior generará un número decimal aleatorio >= 10 y < 25. (notas: Esta fórmula nunca devuelve el valor 25 porque la función aleatoria nunca devuelve 1. )
rango de enteros aleatorios
Para crear un número entero aleatorio entre dos valores (incluido un rango), se puede utilizar la siguiente fórmula:
SELECT FLOOR(RAND()*(b-a+1))+a;
donde a es el número más pequeño y b es el número más grande para el cual se generarán números aleatorios.
SELECT FLOOR(RAND()*(25-10+1))+10;
La fórmula anterior generará un número entero aleatorio entre 10 y 25, inclusive.
aplicar para
La función RAND está disponible para las siguientes versiones de MySQL:
- MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23
ejemplo de numero aleatorio
Exploremos cómo usar la función RAND en MySQL para generar un número aleatorio >= 0 y < 1.
Por ejemplo:
mysql> SELECT RAND(); Result: 0.2430297417966926 (no seed value, so your answer will vary) mysql> SELECT RAND(9); Result: 0.406868412538309 (with seed value of 9) mysql> SELECT RAND(-5); Result: 0.9043048842850187 (with seed value of -5)
Aunque la función RAND devolverá el valor 0, nunca devolverá el valor 1. Siempre devolverá un valor menor que 1.
Ejemplo de rango decimal aleatorio
Exploremos cómo usar la función RAND en MySQL para generar números decimales aleatorios (es decir, rangos) entre dos números.
Por ejemplo, lo siguiente generará valores decimales aleatorios >= 1 y < 10 (notas: nunca devuelve el valor 10):
mysql> SELECT RAND()*(10-1)+1; Result: 3.71321560508871 (no seed value, so your answer will vary) mysql> SELECT RAND(9)*(10-1)+1; Result: 4.661815712844781 (with seed value of 9) mysql> SELECT RAND(-5)*(10-1)+1; Result: 9.138743958565168 (with seed value of -5)
Ejemplo de rango de enteros aleatorios
Exploremos cómo usar la función RAND en MySQL para generar números enteros aleatorios (es decir, inclusive) entre dos números.
Por ejemplo, lo siguiente generará valores enteros aleatorios entre 20 y 30:
mysql> SELECT FLOOR(RAND()*(30-20+1))+20; Result: 22 (no seed value, so your answer will vary) mysql> SELECT FLOOR(RAND(9)*(30-20+1))+20; Result: 24 (with seed value of 9) mysql> SELECT FLOOR(RAND(-5)*(30-20+1))+20; Result: 29 (with seed value of -5)