Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Duda con select en sql server...

Estas en el tema de Duda con select en sql server... en el foro de SQL Server en Foros del Web. Buenos días amigos, Veran, tengo que realizar una select de un rango de fechas en un SP, pero siempre y cuando no esten vacios, ya ...
  #1 (permalink)  
Antiguo 21/09/2007, 03:53
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Duda con select en sql server...

Buenos días amigos,

Veran, tengo que realizar una select de un rango de fechas en un SP, pero siempre y cuando no esten vacios, ya que sino, tendria que coger todos los rangos.

Actualmente lo tenía así, hasta que me di cuenta de que tengo que poner el >= y el <=.
AND SI_PAGOS.FEC_ALTA LIKE ISNULL(@FECHA_DESDE + '%', '%')
AND SI_PAGOS.FEC_ALTA LIKE ISNULL(@FECHA_HASTA + '%', '%')


Y claro, si dejaba los parametros vacios (o van los dos llenos o ninguno), pues me hacia bien la select y me los cogia todos. Si ponia una misma fecha en DESDE y en HASTA, tambien me lo hace bien, pero cuando pongo una diferente en DESDE y otra en HASTA, naturalmente, no me coge ningún valor.

Entonces... podría hacer algo similar a como lo estoy haciendo, para que si me viene el parametro me lo coja nulo y sino que me haga el rango ¿?

Algo como:
AND SI_PAGOS.FEC_ALTA >= ISNULL(@FECHA_DESDE + '%', '%')
AND SI_PAGOS.FEC_ALTA <= ISNULL(@FECHA_HASTA + '%', '%')

¿Eso valdría?
__________________
Charlie.
  #2 (permalink)  
Antiguo 21/09/2007, 06:40
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Duda con select en sql server...

No habia visto una consulta de rangos de fechas utlizando "Like"....

A ver si entendi bien. Lo que quieres es que cuando los parametros de fecha esten nulos no los considere pero cuando tengan valor si los considere en la consulta y puede ser que uno de los dos venga nulo, los dos nulos o ninguno nulo. Es asi?...

Bueno, de que tipo es el campo Fec_Alta?


Si son de tipo fecha esto debe funcionar.


Código:
AND (SI_PAGOS.FEC_ALTA >= @FECHA_DESDE Or @Fecha_desde is null) 
AND (SI_PAGOS.FEC_ALTA <= @FECHA_HASTA Or @Fecha_hasta is null)
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:19.