Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   dia de la semana (https://www.clubdelphi.com/foros/showthread.php?t=12365)

barman 14-07-2004 12:34:00

dia de la semana
 
Necesito saber el dayofweek de una select, vista, esto es lo que tengo hasta el momento

Cita:

CREATE PROCEDURE ElapsedDays(Date1 DATE, Date2 DATE)
RETURNS (Result INTEGER)
AS
BEGIN
Result = Date2-Date1;
END

CREATE PROCEDURE Modulus(Dividend INTEGER, Divisor INTEGER)
RETURNS (Result INTEGER)
AS
BEGIN
IF(Dividend = 0) THEN Result = 0;
ELSE
Result = Dividend-(CAST((Dividend / Divisor)-0.5 AS INTEGER)*Divisor);
END

CREATE PROCEDURE DayOfWeek(ADate DATE)
RETURNS (Result INTEGER)
AS
DECLARE VARIABLE Elapsed INTEGER;
BEGIN
EXECUTE PROCEDURE ElapsedDays("1.1.96", ADate) RETURNING_VALUES Elapsed;
EXECUTE PROCEDURE Modulus(Elapsed, 7) RETURNING_VALUES Result;
END
No se como hacerlo con una funtion externa, aunque esperaba que con una vista prodria llamar al procedimiento.

1000 G.

angellvl 14-07-2004 13:20:11

Existen UDFs que te sacan el día de la semana.

Aqui puedes decargar una UDF con esa función.

http://www.griffon.demon.co.uk/fudlibrary.html

Un Saludo.

barman 14-07-2004 16:58:21

Gracias angellvl, acabo de probarlo y funcionan sin problema, aunque me gustaria ejecutar un procedure dentro de una select, (que ya se que no puede pero....)

1000 G. agains

celades 15-07-2004 07:28:25

Hola

En tu caso puedes hacer esto (si es que te he entendido bien)

Código SQL [-]
 SELECT RESULT FROM DayOfWeek('07/14/2004')

Saludos

barman 15-07-2004 10:53:18

Lo que pretendo hacer es algo mas o menos asi

SELECT a.codigo FROM facturas a
where DayOfWeek(a.fecha ) = 2

angellvl 15-07-2004 11:46:42

Quizas sea rebuscar mucho pero prueba con:

SELECT a.codigo FROM facturas a
where 2 in (select result from DayOfWeek(a.fecha ) )

Pero lo dicho, me parece bastante rebuscao :D

Un Saludo

celades 15-07-2004 12:23:32

Esto funcionara

Código SQL [-]
SELECT a.codigo FROM facturas a
where (select result from DayOfWeek(a.fecha ) )=2

barman 15-07-2004 12:40:48

No la select, no sale bien, tiene que haber algun error en el procedimiento, de todas formas me voy a quedar con las external funtions, lo unico que hay que redistribuir la libreria, pero estan bastante bien.

Gracias a los dos por vuestras respuestas.


La franja horaria es GMT +2. Ahora son las 20:33:43.

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