Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Error en fecha (https://www.clubdelphi.com/foros/showthread.php?t=55595)

zvf 21-04-2008 20:28:04

Error en fecha
 
Hola de nuevo!!

Ahora, quiero que me muestre la consulta, la fecha según los valores que yo le de en cuanto a año, mes o día, pero me da un número entero raro al hacerlo :confused:, tengo lo siguiente:

Código SQL [-]
 
select cita_pacienteid, fecha_ingreso = min (cita_fecha), dia=DATEPART(dd, min(cita_fecha)), mes=datepart(mm,min(cita_fecha)),                            
aniversario1=datepart(yyyy,getdate()-1)+datepart(mm,min(cita_fecha))+DATEPART(dd, min(cita_fecha))
from cita
where cita_status = 'T'
      and cita_servicioid =248
group by cita_pacienteid
order by cita_pacienteid

El problema es que en "aniversario1" quiero que me de la fecha del campo cita_fecha pero con un año anterior, por ejemplo, si cita_fecha tiene 02/12/2008, yo quiero que me de aniversario1 = 02/12/2007, por eso intenté ponerle
Código SQL [-]
datepart(yyyy,getdate()-1)
; pero con la expresiòn como la tengo, me da el número 2025 por ejemplo, y no un valor de fecha.

¿Me pueden ayudar?

Muchas gracias!!!

poliburro 21-04-2008 22:58:37

Código SQL [-]
 
select cita_pacienteid,  
         fecha_ingreso = min (cita_fecha), 
         dia=DATEPART(dd, min(cita_fecha)), 
         mes=datepart(mm,min(cita_fecha)),
         aniversario1= DatePart(yyyy,DateAdd(yy,-1,CitaFecha)) +
                           datepart(mm,min(cita_fecha))+
                           DATEPART(dd, min(cita_fecha))
from cita
where cita_status = 'T'
         and cita_servicioid =248
group by cita_pacienteid
order by cita_pacienteid

zvf 22-04-2008 16:26:07

Hola,

Muchas gracias por tu apoyo,

Solo una cosa, este codigo solo me regresa el año-1, esto es correcto, pero quisiera que me apareciera la fecha completa, es decir el mes y el día no aparecen :(, como que al limitar con el primer datepart el año, ya no permite que se agreguen ni el mes, ni el día.

Gracias, de nuevo.

poliburro 22-04-2008 18:41:33

Código SQL [-]
 
select cita_pacienteid,  
         fecha_ingreso = min (cita_fecha), 
         dia=DATEPART(dd, min(cita_fecha)), 
         mes=datepart(mm,min(cita_fecha)),
         aniversario1= Convert(Varchar(12), DateAdd(yy,-1,CitaFecha),121)
From cita
where cita_status = 'T'
         and cita_servicioid =248
group by cita_pacienteid
order by cita_pacienteid


La franja horaria es GMT +2. Ahora son las 01:07:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi