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);

Deja un comentario

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