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.
Servidor SQL: función aleatoria
Este tutorial de SQL Server describe cómo usar función de rand Sintaxis y ejemplos en SQL Server (Transact-SQL).
describir
En SQL Server (Transact-SQL), la función RAND 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 SQL Server (Transact-SQL) 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 y 1 (exclusivo), por lo que valor > 0 y 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á números decimales aleatorios entre 10 y 25, no inclusive.
propina: Esta fórmula generará un número decimal aleatorio mayor que 10 y < 25, pero nunca devolverá 10 o 25 exactamente.
rango de enteros aleatorios
Para crear un número entero aleatorio entre dos valores (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.
propina: Esta fórmula generará un número entero aleatorio >= 10 y <= 25.
aplicar para
La función RAND está disponible en las siguientes versiones de SQL Server (Transact-SQL):
- Servidor SQL 2017, Servidor SQL 2016, Servidor SQL 2014, Servidor SQL 2012, Servidor SQL 2008 R2, Servidor SQL 2008, Servidor SQL 2005
ejemplo de numero aleatorio
Exploremos cómo usar la función RAND en SQL Server (Transact-SQL) para generar un número aleatorio entre 0 y 1, no inclusive.
Por ejemplo:
SELECT RAND(); Result: 0.143811355073783 (no seed value, so your answer will vary) SELECT RAND(9); Result: 0.713741056982989 (with seed value of 9) SELECT RAND(-5); Result: 0.713666525097956 (with seed value of -5)
Ejemplo de rango decimal aleatorio
Exploremos cómo usar la función RAND en SQL Server (Transact-SQL) para generar números decimales aleatorios (es decir, rangos) entre dos números.
Por ejemplo, lo siguiente generará valores decimales aleatorios entre 1 y 10, no inclusive (los números aleatorios serán mayores que 1 y menores que 10):
SELECT RAND()*(10-1)+1; Result: 5.09104269717813 (no seed value, so your answer will vary) SELECT RAND(9)*(10-1)+1; Result: 7.4236695128469 (with seed value of 9) SELECT RAND(-5)*(10-1)+1; Result: 7.42299872588161 (with seed value of -5)
Ejemplo de rango de enteros aleatorios
Exploremos cómo usar la función RAND en SQL Server (Transact-SQL) para generar enteros aleatorios (es decir, rangos) entre dos números.
Por ejemplo, lo siguiente generará valores enteros aleatorios entre 10 y 20, incluidos:
SELECT FLOOR(RAND()*(20-10+1))+10; Result: 19 (no seed value, so your answer will vary) SELECT FLOOR(RAND(9)*(20-10+1))+10; Result: 17 (with seed value of 9) SELECT FLOOR(RAND(123456)*(20-10+1))+10; Result: 10 (with seed value of 123456)