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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-11-2018
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
¿Consulta correcta con DATEDIFF?

Hola Chicos:

Como han estado?

La verdad tenia rato de no consultar en el foro sin embargo tengo un pequeño dolor de cabeza que probablemente lo resolveria con la Aspirina sin embargo creo que voleria porque tengo media hora de estar buscando porque me manda un error en Firebird:
Código:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 17, column 42.
FAC_CREDITO.
en esta Consulta usando la Función DIFFDATE();

Código SQL [-]
select
FAC_CREDITO.ID_CLIENTE,
FAC_CREDITO.ID_FACTURA,
IIF( DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE ) <0 AND (FAC_CREDITO.FECHAFIN_CRE <> '0000-00-00' ), FAC_CREDITO.M_VENTACREDITO,0) AS POR_VENCER,
IIF( DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE )>=0 AND DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE  ) <=15 OR FAC_CREDITO.FECHAFIN_CRE = '00-00-0000', FAC_CREDITO.M_VENTACREDITO,0) AS VENCIDOS115, 
IIF( DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE )>=16 AND DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE ) <=30, FAC_CREDITO.M_VENTACREDITO,0) AS VENCIDOS1630,
IIF( DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE )>=31 AND DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE ) <=45, FAC_CREDITO.M_VENTACREDITO,0) AS VENCIDOS3145,
IIF( DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE )>=46 AND DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE ) <=60, FAC_CREDITO.M_VENTACREDITO,0) AS VENCIDOS4660,
IIF( DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE )>=61 AND DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE ) <=90, FAC_CREDITO.M_VENTACREDITO,0) AS VENCIDOS6190,
IIF( DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE )>=91 AND DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE ) <=120, FAC_CREDITO.M_VENTACREDITO,0) AS VENCIDOS91120,
IIF( DATEDIFF( month, current_date, date FAC_CREDITO.FECHAFIN_CRE )>=121 ,FAC_CREDITO.M_VENTACREDITO,0) AS VENCIDOSMAS120
from FAC_CREDITO
ORDER BY FAC_CREDITO.ID_CLIENTE

Ya se pueden imaginar simplemente recibir los monto que estan dentro del rango de días.

Alguna sugerencia
mi tabla es :
Código SQL [-]
CREATE TABLE FAC_CREDITO (
  ID_FACCREDITO INTEGER NOT NULL,
  ID_FACTURA INTEGER NOT NULL,
  ID_CLIENTE INTEGER NOT NULL,
  M_VENTACREDITO DECIMAL(12, 2) DEFAULT 0.0 NOT NULL,
  PENDIENTE CHAR(1) CHARACTER SET ASCII DEFAULT 'S' NOT NULL COLLATE ASCII,
  FECHAINI_CRE TIMESTAMP NOT NULL,
  FECHAFIN_CRE TIMESTAMP NOT NULL,
  DETALLE_FAC_CREDITO VARCHAR(125) CHARACTER SET ASCII NOT NULL COLLATE ASCII,
  CONSECUTIVO_FAC INTEGER NOT NULL);
ALTER TABLE FAC_CREDITO ADD PRIMARY KEY (ID_FACCREDITO);


SET TERM ^ ;

CREATE TRIGGER BI_FAC_CREDITO_ID_FACCREDITO FOR FAC_CREDITO
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
  IF (NEW.ID_FACCREDITO IS NULL) THEN
      NEW.ID_FACCREDITO = GEN_ID(FAC_CREDITO_ID_FACCREDITO_GEN, 1);
END^

SET TERM ;

Agradeciendo su colaboración o algun aporte que mejore mi consulta me despido temporalmente;ç

novato_erick
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
forma de programar no se si es la correcta ? gulder MySQL 4 05-04-2016 17:49:51
Creacion Correcta de Forms??? jbautista Varios 7 27-05-2010 16:48:29
Pronunciación correcta. marcoszorrilla La Taberna 1 12-11-2008 21:38:25
Problema con consultas DateDiff enecumene MySQL 1 07-12-2007 18:35:03
La elección correcta ! Xianto Tablas planas 2 07-01-2005 12:35:24


La franja horaria es GMT +2. Ahora son las 08:53:06.


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