Problema con Getdate()

30/04/2009 - 16:10 por Angel Zapata | Informe spam
En una consulta estoy poniendo este codigo para tabular un dato pero no
funciona.

SUM(CASE dbo.Pedido_Cab.PcaFecha WHEN GETDATE() THEN 1 ELSE 0 END) AS
PedidosRealizado

en cambio si sustituyo GETDATE() por la fecha '30/04/2009' si funciona,

¿Alguien sabe por que?


Muchas gracias por todo

Angel Zapata

Preguntas similare

Leer las respuestas

#6 Angel Zapata
30/04/2009 - 18:09 | Informe spam
Muchas gracias Alejandro,

me ha funcionado a la perfección, si es que no hay nada como saber.

Un saludo
Angel Zapata

"Alejandro Mesa" escribió en el
mensaje news:
Angel,

Debes truncar el tiempo de cada lado. Si estas guardando solo la fecha,
entonces debes truncar el tiempo en el resultado de "getdate()".

case when dateadd([day], datediff([day], '19000101', PcaFecha),
'19000101')
= dateadd([day], datediff([day], '19000101', getdate()), '19000101') then
1
else 0 end

case when PcaFecha = dateadd([day], datediff([day], '19000101',
getdate()),
'19000101') then 1 else 0 end


La conversion que usastes no es util, puesto que estas convirtiendo de
datetime a datetime.

Ve la differencia en esta select.

SELECT
CONVERT(DATETIME, GETDATE(), 102),
CONVERT(VARCHAR(10), GETDATE(), 102),
CONVERT(DATETIME, '20090430', 102)
GO


AMB


"Angel Zapata" wrote:

El tipo de dato es Datetime, he probado tambien haciendo la conversion
siguiente

SUM(CASE CONVERT(DATETIME, dbo.Pedido_Cab.PcaFecha, 102) WHEN
CONVERT(DATETIME, GETDATE(), 102) THEN 1 ELSE 0 END) AS PedidosRealizado


Y tampoco muestra los resultados correctos.

Muchas gracias


"Angel Zapata" <a n g e l . z a p a t a @ g r u p o s h . e s> escribió
en
el mensaje news:%
> En una consulta estoy poniendo este codigo para tabular un dato pero no
> funciona.
>
> SUM(CASE dbo.Pedido_Cab.PcaFecha WHEN GETDATE() THEN 1 ELSE 0 END) AS
> PedidosRealizado
>
> en cambio si sustituyo GETDATE() por la fecha '30/04/2009' si funciona,
>
> ¿Alguien sabe por que?
>
>
> Muchas gracias por todo
>
> Angel Zapata
>



Respuesta Responder a este mensaje
#7 Jorge Guillen
30/04/2009 - 18:46 | Informe spam
Otra forma

SUM(CASE CONVERT(VARCHAR(8), dbo.Pedido_Cab.PcaFecha, 112) WHEN
CONVERT(VARCHAR(8), GETDATE(), 112) THEN 1 ELSE 0 END) AS PedidosRealizado

Saludos,
JORGE G.


"Angel Zapata" <a n g e l . z a p a t a @ g r u p o s h . e s> escribió en
el mensaje news:%
Muchas gracias Alejandro,

me ha funcionado a la perfección, si es que no hay nada como saber.

Un saludo
Angel Zapata

"Alejandro Mesa" escribió en el
mensaje news:
Angel,

Debes truncar el tiempo de cada lado. Si estas guardando solo la fecha,
entonces debes truncar el tiempo en el resultado de "getdate()".

case when dateadd([day], datediff([day], '19000101', PcaFecha),
'19000101')
= dateadd([day], datediff([day], '19000101', getdate()), '19000101')
then 1
else 0 end

case when PcaFecha = dateadd([day], datediff([day], '19000101',
getdate()),
'19000101') then 1 else 0 end


La conversion que usastes no es util, puesto que estas convirtiendo de
datetime a datetime.

Ve la differencia en esta select.

SELECT
CONVERT(DATETIME, GETDATE(), 102),
CONVERT(VARCHAR(10), GETDATE(), 102),
CONVERT(DATETIME, '20090430', 102)
GO


AMB


"Angel Zapata" wrote:

El tipo de dato es Datetime, he probado tambien haciendo la conversion
siguiente

SUM(CASE CONVERT(DATETIME, dbo.Pedido_Cab.PcaFecha, 102) WHEN
CONVERT(DATETIME, GETDATE(), 102) THEN 1 ELSE 0 END) AS PedidosRealizado


Y tampoco muestra los resultados correctos.

Muchas gracias


"Angel Zapata" <a n g e l . z a p a t a @ g r u p o s h . e s> escribió
en
el mensaje news:%
> En una consulta estoy poniendo este codigo para tabular un dato pero
> no
> funciona.
>
> SUM(CASE dbo.Pedido_Cab.PcaFecha WHEN GETDATE() THEN 1 ELSE 0 END) AS
> PedidosRealizado
>
> en cambio si sustituyo GETDATE() por la fecha '30/04/2009' si
> funciona,
>
> ¿Alguien sabe por que?
>
>
> Muchas gracias por todo
>
> Angel Zapata
>









email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida