Generar un número aleatorio en SQL

Esteban Sierra

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

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)

Espero que te haya servido de ayuda esta entrada, si es así te agradecería un comentario o un compartir.

 

Si quieres ver más publicaciones de SQL, pulsa aquí

Fuente original:

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

Deja un comentario

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

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies