¿Cómo generar un número aleatorio en SQL?

Esteban Sierra

3 abril, 2018

Hoy en el trabajo nos ha hecho falta generar en SQL, un número aleatorio comprendido entre dos números para realizar unos procedimientos almacenados.

Después de buscar algo de información y revisar varias webs donde comentaban distintas formas, algunas erróneas, de hacer este cálculo, hemos llegado a la conclusión de que las dos formas más rápidas y claras de hacerlo son las siguientes:

//Obtener un número aleatorio entre [num_minimo] y [num_maximo] (ambos incluidos)
SELECT [num_minimo] + CONVERT(INT, ([num_maximo] - [num_minimo] + 1) * RAND())
SELECT ROUND((([num_maximo] - [num_minimo]) * RAND() + [num_minimo]), 0)

//En nuestro caso, necesitábamos obtener un número aleatorio entre 7 y 10
SELECT 7 + CONVERT(INT, (10 - 7 + 1) * RAND())
SELECT ROUND(((10 - 7) * RAND() + 7), 0)

Fuente original: https://blog.sqlauthority.com/2007/04/29/sql-server-random-number-generator-script-sql-query/

Tu apoyo cuenta: comparte este contenido y cuéntame en los comentarios qué te ha parecido

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.