Random, dado el INICIO y FINAL

04/03/2004 - 19:11 por Isaías | Informe spam
Hola a todos

Sobre mi posta "Filtrar Informacion", llegue a la
conclusion que podre filtrar una gran parte de groserias,
pero no el total de ellas, esto me obligo a estudiar algo
sobre:

CONTAINS
CONTAINSTABLE

Temas por demas interesantes en el FULL-TEXT SEARCH.

Bueno, sobre esta posta, ¿alguno de ustedes ha tenido la
necesidad de obtener un NUMERO ALEATORIA (RANDOM), dado el
inicio y final de los numeros, algo asi:

SELECT RAND(25621, 25670)

Esto es, que me de un numero ALEATORIO entre el INICIO y
el FINAL de dichos numeros, ademas de que estos pudieran
estar en una variable

DECLARE @StartNum int, @EndNum Int
SET @StartNum = 25621
SET @EndNum = 25670
SELECT RAND(@StartNum, @EndNum)

Cualquier comentario sera bienvenido.

(Sorry !!!, me fui de vacaciones y se atraso el trabajo).

Preguntas similare

Leer las respuestas

#1 Adrian D. Garcia
04/03/2004 - 19:59 | Informe spam
Hola Isais,
Tienes la funcion RAND() de T-SQL que devuelve un valor entre 0 y 1
(inclusives)
Entonces, podrias hacer lo siguiente:

DECLARE @StartNum int, @EndNum Int
SET @StartNum = 25621
SET @EndNum = 25670
SELECT @StartNum + RAND() * (@EndNum - @StartNum)

Ojo! Este es un ejemplo simple ya que aqui hay que controlar que pasa si
@StartNum = @EndNum?
Que pasa si la funcion RAND() devuelve 0? Toda esta funcionalidad la podrias
incluir dentro de una funcion del usuario y listo!



Saludos

Adrian D. Garcia
NDSoft
MCSD
"Isaías" escribió en el mensaje
news:709001c40214$24c26e60$
Hola a todos

Sobre mi posta "Filtrar Informacion", llegue a la
conclusion que podre filtrar una gran parte de groserias,
pero no el total de ellas, esto me obligo a estudiar algo
sobre:

CONTAINS
CONTAINSTABLE

Temas por demas interesantes en el FULL-TEXT SEARCH.

Bueno, sobre esta posta, ¿alguno de ustedes ha tenido la
necesidad de obtener un NUMERO ALEATORIA (RANDOM), dado el
inicio y final de los numeros, algo asi:

SELECT RAND(25621, 25670)

Esto es, que me de un numero ALEATORIO entre el INICIO y
el FINAL de dichos numeros, ademas de que estos pudieran
estar en una variable

DECLARE @StartNum int, @EndNum Int
SET @StartNum = 25621
SET @EndNum = 25670
SELECT RAND(@StartNum, @EndNum)

Cualquier comentario sera bienvenido.

(Sorry !!!, me fui de vacaciones y se atraso el trabajo).
Respuesta Responder a este mensaje
#2 ulises
04/03/2004 - 20:40 | Informe spam
Solo agregaría a lo indicado por Adrian colocar el ROUND
para que sea un entero :

SELECT ROUND(@StartNum + RAND() * (@EndNum - @StartNum),0)

Saludos,
Ulises

Hola Isais,
Tienes la funcion RAND() de T-SQL que devuelve un valor


entre 0 y 1
(inclusives)
Entonces, podrias hacer lo siguiente:

DECLARE @StartNum int, @EndNum Int
SET @StartNum = 25621
SET @EndNum = 25670
SELECT @StartNum + RAND() * (@EndNum - @StartNum)

Ojo! Este es un ejemplo simple ya que aqui hay que


controlar que pasa si
@StartNum = @EndNum?
Que pasa si la funcion RAND() devuelve 0? Toda esta


funcionalidad la podrias
incluir dentro de una funcion del usuario y listo!



Saludos

Adrian D. Garcia
NDSoft
MCSD
"Isaías" escribió


en el mensaje
news:709001c40214$24c26e60$
Hola a todos

Sobre mi posta "Filtrar Informacion", llegue a la
conclusion que podre filtrar una gran parte de groserias,
pero no el total de ellas, esto me obligo a estudiar algo
sobre:

CONTAINS
CONTAINSTABLE

Temas por demas interesantes en el FULL-TEXT SEARCH.

Bueno, sobre esta posta, ¿alguno de ustedes ha tenido la
necesidad de obtener un NUMERO ALEATORIA (RANDOM), dado el
inicio y final de los numeros, algo asi:

SELECT RAND(25621, 25670)

Esto es, que me de un numero ALEATORIO entre el INICIO y
el FINAL de dichos numeros, ademas de que estos pudieran
estar en una variable

DECLARE @StartNum int, @EndNum Int
SET @StartNum = 25621
SET @EndNum = 25670
SELECT RAND(@StartNum, @EndNum)

Cualquier comentario sera bienvenido.

(Sorry !!!, me fui de vacaciones y se atraso el trabajo).


.

Respuesta Responder a este mensaje
#3 Isaías
04/03/2004 - 23:06 | Informe spam
Adrian / Ulises

Muchas gracias, el codigo funciona, ahora bien, para
INCLUIR los numeros inicial y final, ¿esta bien este
codigo? (ya lo probe y funciona)

DECLARE @StartNum int, @EndNum Int
SET @StartNum = 1
SET @EndNum = 10
SELECT ROUND((@StartNum-1) + RAND() * ((@EndNum+1) -
@StartNum),0)

Gracias.
Respuesta Responder a este mensaje
#4 Adrian D. Garcia
05/03/2004 - 11:09 | Informe spam
Creo que esta OK en un principio. Que pasaria si RAND() devuelve 0 o un nro.
muy cercano a 0?

Saludos

Adrian D. Garcia
NDSoft
MCSD
"Isaías" escribió en el mensaje
news:767b01c40234$f4046460$
Adrian / Ulises

Muchas gracias, el codigo funciona, ahora bien, para
INCLUIR los numeros inicial y final, ¿esta bien este
codigo? (ya lo probe y funciona)

DECLARE @StartNum int, @EndNum Int
SET @StartNum = 1
SET @EndNum = 10
SELECT ROUND((@StartNum-1) + RAND() * ((@EndNum+1) -
@StartNum),0)

Gracias.
Respuesta Responder a este mensaje
#5 Isaias
05/03/2004 - 16:12 | Informe spam
Adrian

Lo probe con esos rangos (1-10) y nunca me dio un 0.

gracias.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida