Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   como extraer la el año de una fecha en un sentencia SQL? (https://www.clubdelphi.com/foros/showthread.php?t=7038)

viajero2015 30-01-2004 23:11:50

como extraer la el año de una fecha en un sentencia SQL?
 
Hola colegas.
Estoy haciendo una consulta y quiero extraer de la consulta el año de la fecha que esta en la consulta y comparar ese año con el que el usuario entra, que funciòn puedo usar?, que funciòn hay en SQL para resolver este mal problema para mi.
aqui les envio parte del codigo de la sentencia SQL.

CustomerData.querypagos_personal.SQL[2]:='WHERE pagos_personal.Mesinicial='''+ cmbmesinicial.Text +''' and pagos_personal.Mesfinal='''+ cmbmesfinal.Text +''' and YearOf(pagos_personal.anno)='''+ edate.Text +'''';


cuando mando activar esta consulta me da un error, me dice esto.
Capability not supported.

alguien mepodra ayudar?.

marcoszorrilla 30-01-2004 23:19:43

Creo recordar de otras consultas que has realizado que trabajas con Paradox, si es así tienes que utilizar lo que sigue:

Código:

Select Extract(Year from fecha)
from Factura

Un Saludo.

jachguate 30-01-2004 23:31:58

No mencionas el motor en el que trabajas. Marcos apunta una solución válida para interbase/firebird. En oracle sería

Select to_number(to_char(fecha, 'yyyy'))
from factura;

Hasta luego.

;)

viajero2015 31-01-2004 21:00:26

estoy en el motor de BD BDE con tablas paradox 4.0
 
hola amigos gracias por su ayuda, pero no se ha resuelto el problema sigue, probe con select extract(Year from fecha) y nada, necesito extraer el anno de esa fecha para compararla con un que entra el usuario, estoy trabajando con el motor BDE con tablas paradox.

alguien me pudiera seguir ayudando. estoy detenido en el sistema por eso.
sin mas TOMAS

marcoszorrilla 31-01-2004 22:59:59

Suponiendo que el usuario introduzca el año en un Edit, aquí te pongo un ejemplo:

Código:

procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.Sql.Add('Select * From Employee');
Query1.Sql.Add('Where (Extract(Year from HireDate)) = '+ QuotedStr(edit1.text));
Query1.Active:=True;
end;

Un Saludo.

bosamel 06-01-2005 22:25:21

el formato con que se guarda la fecha es dd-mm-aa dentro de las tablas paradox, pero para extraerlas desde Sql el formato es mm-dd-aa, si te das cuenta las comparaciones no son iguales, hay una funcion en delphi que se llama ShortDateFormat cuyo formato es el siguiente ShortDateFormat:= 'm/d/yyyy';
pero puedes extraer el dia solamente o el año, el resto puedes hacerlo con codigo, me avisas como te fue bosamel@hotmail.com


La franja horaria es GMT +2. Ahora son las 11:47:35.

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