Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-07-2004
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 14-07-2004
angellvl angellvl is offline
Miembro
 
Registrado: abr 2004
Posts: 10
Poder: 0
angellvl Va por buen camino
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.
Responder Con Cita
  #3  
Antiguo 14-07-2004
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 15-07-2004
celades celades is offline
No confirmado
 
Registrado: may 2003
Ubicación: Torroella de Montgrí (Girona)
Posts: 42
Poder: 0
celades Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 15-07-2004
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
Lo que pretendo hacer es algo mas o menos asi

SELECT a.codigo FROM facturas a
where DayOfWeek(a.fecha ) = 2
Responder Con Cita
  #6  
Antiguo 15-07-2004
angellvl angellvl is offline
Miembro
 
Registrado: abr 2004
Posts: 10
Poder: 0
angellvl Va por buen camino
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

Un Saludo
Responder Con Cita
  #7  
Antiguo 15-07-2004
celades celades is offline
No confirmado
 
Registrado: may 2003
Ubicación: Torroella de Montgrí (Girona)
Posts: 42
Poder: 0
celades Va por buen camino
Esto funcionara

Código SQL [-]
SELECT a.codigo FROM facturas a
where (select result from DayOfWeek(a.fecha ) )=2
Responder Con Cita
  #8  
Antiguo 15-07-2004
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:39:10.


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
Copyright 1996-2007 Club Delphi