SQL-Server: Generar un número aleatorio entre dos valores

¿Cómo genero un número aleatorio en SQL-Server? Con la función RAND(), que nos devuelve un valor float pseudoaleatorio entre 0 y 1.

¿Y cómo puedo acotar esto entre dos valores? Pues redondeando el valor de multiplicar el resultado de la función RAND() por la diferencia entre el valor más alto y más bajo que queremos usar como límites y sumándole finalmente el valor más bajo. Que así puesto solo como texto parece más lioso de lo que es, la fórmula es muy sencilla y sería:

SELECT FLOOR(RAND()*(valorHasta-valorDesde)+valorDesde);

Siendo valorHasta el valor más alto y valorDesde el más bajo entre los que queremos obtener el valor aleatorio.

Imagina que queremos un valor aleatorio entre 100 y 200:

SELECT FLOOR(RAND()*(200-100)+100);

Anuncio publicitario

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

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