Disuclpen, que me meta, pero mas prolijo queda si lo metes una function sql
server.

 

 

Saludos!

 

  _____  

De: [email protected] [mailto:[email protected]] En nombre de Pepe
Ballaga
Enviado el: 20/11/2012 17:39
Para: [email protected]
Asunto: [puntonet] [vbusers] Help ayuda en Consulta SQL

 

algo asi hice, pero queria algo mas "elegante". GRacias

 

PEPE

----- Original Message ----- 

From: GVOA (Gustavo <mailto:[email protected]>  Daniel Anaya) 

To: vbusers List Member <mailto:[email protected]>  

Sent: Tuesday, November 20, 2012 3:16 PM

Subject: [vbusers] Help ayuda en Consulta SQL

 

Para ser más prolijos sería algo así:

 

Case when unidad_duracion = ‘m’ then  

dateadd(m,  tiempo_duracion,  fecha_inicio)

else case when unidad_duracion = ‘y’ then 

dateadd(yy,  tiempo_duracion,  fecha_inicio)

            else case when unidad_duracion = ‘d’ then

dateadd(d,  tiempo_duracion,  fecha_inicio)

          end end end

 

Saludos,

 

From: [email protected] [mailto:[email protected]] On Behalf Of GVOA
(Gustavo Daniel Anaya)
Sent: martes, 20 de noviembre de 2012 05:04 p.m.
To: vbusers List Member
Subject: [vbusers] Help ayuda en Consulta SQL

 

Hola pepe, 

 

Rapidamente, si no funciona tomando el valor de un campo de la base de
datos, se me ocurre que podrías hacer algo así aunque no es muy “comodo”:

 

SELECT        id_contrato, No_Contrato, tiempo_duracion, unidad_duracion,
fecha_inicio, Monto_CUC, Monto_MN, fk_tipo_contrato, 

 

Case when unidad_duracion = ‘m’ then  

dateadd(m,  tiempo_duracion,  fecha_inicio)

when unidad_duracion = ‘y’ then 

dateadd(y,  tiempo_duracion,  fecha_inicio)

            when unidad_duracion = ‘d’ then

dateadd(d,  tiempo_duracion,  fecha_inicio)

else

            ‘…………’

            end

           

FROM            Contratos 

 

 

 

 

From: [email protected] [mailto:[email protected]] On Behalf Of Pepe
Ballaga
Sent: martes, 20 de noviembre de 2012 04:37 p.m.
To: vbusers List Member
Subject: [vbusers] Help ayuda en Consulta SQL

 

Holaa amigos tengo un problema con la funcion dateadd en una vista pues se
como utilizarla normalmente dateadd( month, 3, fechainicio). Eso esta claro,
el problema esta cuando la parte de month quiero que la obtenga de un campo
de la bd de datos. La consulta que estoy haciendo es la siguiente y me da
error: 

 

SELECT        id_contrato, No_Contrato, tiempo_duracion, unidad_duracion,
fecha_inicio, Monto_CUC, Monto_MN, fk_tipo_contrato,
dateadd(unidad_duracion,  tiempo_duracion,  fecha_inicio)
FROM            Contratos 

 

Me dice que unidad_duracion no es un parametro posible, deseo que la unidad
de duracion que esta en el registro sea la que tome para construir la
consulta. 

 

Ojala me haya explicado bien. Muchas gracias

 

PEPE

 

Responder a