Foros Club Delphi

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

drykea 21-11-2008 12:58:18

Obtener solo fecha
 
Hola a tod@s.

¿Alguien sabe como obtener solo la parte de la fecha de un campo DateTime de SQL Server?

Muchas gracias por adelantado

Caro 21-11-2008 14:06:05

Hola drykea, puedes hacer esta prueba:

Código SQL [-]
 Select Convert(varchar, CampoFecha, 3) from Tabla

Saluditos

drykea 21-11-2008 15:40:15

Muchas gracias por tu respuesta.

Lo he probado y sí que me devuelve la fecha.
¿Pero hay alguna manera de hacerlo en algun tipo Date, para poder comparlo con otra fecha? Sé que podría volver a pasarlo de Varchar a Date, pero si se puede hacer directamente mucho mejor.

Muchas gracias y perdona por insistir.

Caro 21-11-2008 16:05:13

Cita:

Empezado por drykea (Mensaje 327203)
Lo he probado y sí que me devuelve la fecha.
¿Pero hay alguna manera de hacerlo en algun tipo Date, para poder comparlo con otra fecha? Sé que podría volver a pasarlo de Varchar a Date, pero si se puede hacer directamente mucho mejor.

Hola de nuevo, creo haber leído que solo desde la versión 2008 es donde se tiene los tipos Date y Time. En versiones anteriores estan juntos DateTime, si tienes una versión anterior puedes hacer la comparación:

Código Delphi [-]
Query.Sql.Add('Select * From tabla ');
Query.Sql.Add('Where Convert(Varchar,CampoFecha , 3)='+QuotedStr(DateToStr(DateTimePicker.Date));

y va a funcionar, el problema que veo es cuando se quiere hacer un Between, pero en ese caso sera mejor manejarlo como DateTime.

Solo aclarar que se poco de Sql Server y puedo estar equivocada, si no es así seguro que alguien que sepa mas te va confirmar si, si o no.

Saluditos

ContraVeneno 21-11-2008 16:34:54

Pues yo lo haría muy similar a como lo hace Caro, con solo dos detalles:
El primero, revisaría la ayuda de SQL Server para ver que estilo es el que quiero utilizar. En el ejemplo, caro está utilizando el estilo 3, que tiene formato "dd/mm/yy". En este caso, yo utilizaría el estilo 103 que me da el formato "dd/mm/yyyy". Aunque realmente utilizaría el estilo 112 (ISO) con formato "yyyymmdd". En fin, que se trata de que tu revises para ver que estilo quieres utilizar.

El segundo, es que en lugar de utilizar DateToStr para convertir la fecha en delphi, utilizaría FormatDateTime y le daría el mismo formato que el estilo de Convert en SQL, es decir, si utilizo el estilo 112, utilizaría: "FormatDateTime('yyyymmdd', Fecha)"

Saludos.


La franja horaria es GMT +2. Ahora son las 18:25:59.

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