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

Between Urgente

Estas en el tema de Between Urgente en el foro de SQL Server en Foros del Web. tengo un procedimiento: //************************************************** Create Procedure TOficina_TXFiltrado /*no son nullos por que "" no se considera nullos. Siempre tienen "" */ @vi_nombreOficina varchar(20), @vi_ciudad varchar(20), ...
  #1 (permalink)  
Antiguo 02/04/2006, 13:57
Avatar de Jorgemen  
Fecha de Ingreso: mayo-2005
Ubicación: Perú
Mensajes: 322
Antigüedad: 19 años
Puntos: 1
Between Urgente

tengo un procedimiento:
//**************************************************
Create Procedure TOficina_TXFiltrado
/*no son nullos por que "" no se considera nullos. Siempre tienen "" */
@vi_nombreOficina varchar(20),
@vi_ciudad varchar(20),

@vf_nombreOficina varchar(20),
@vf_ciudad varchar(20)

AS

Select * from TOficina where

(nombreOficina Between @vi_nombreOficina and @vf_nombreOficina) AND
(ciudad Between @vi_ciudad and @vf_ciudad)
/**********************************************

donde los parametros de entrada pueden tener valores de : una palabra ó "", como verán es un procedimiento para filtrar registros, el problema qeu teno es que si todos los paramentros de entrda tienen "", no me devuleve ningun registro por que compara between "" and "", etonces quiero decirle qeu cuando encuentre por ejemplo "" en @vi_nombreOficina y @vf_nombreOficina busque todos los registros y qeu no haga el between, lo iba a hacer con IF ELSE, pero en algunos procedimentos tengo 10 paramentors de entrda, entonces los IF ELSE, iban a ser muchos, tal vez haya alguna forma de solucionar esto?
  #2 (permalink)  
Antiguo 03/04/2006, 16:05
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Lo más sencillo sería ir por SQL dinámico, aunque tiene muchas desventajas. Lee este enlace:
http://www.sommarskog.se/dynamic_sql.html
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 01:58.