Ir al contenido


Foto

[RESUELTO] Restar una fecha a la fecha actual en firebird


  • Por favor identifícate para responder
5 respuestas en este tema

#1 razadi

razadi

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 681 mensajes
  • LocationMéxico D.F.

Escrito 07 septiembre 2010 - 08:55

Saludos amigo, tengo una duda, necesito obtener una diferencias de fechas en firebird, pero esto lo quiero hacer directamente desde la sentencia SQL, ya que con DELPHI lo tengo sin problemas.

Aquí lo complicado es que la base de datos esta en dialecto 1 y no me reconoce lo siguiente:



sql
  1. SELECT
  2.   (DATE - FEC_INICIO) AS DIF_FECHA
  3. FROM
  4.   TABLA



Esto lo puedo realizar en Firebird?

saludos y de antemano gracias... (h)
  • 0

#2 razadi

razadi

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 681 mensajes
  • LocationMéxico D.F.

Escrito 07 septiembre 2010 - 09:10

Pues nada, que ya obtuve la respuesta a mi pregunta, gracias egostar "lo bueno de tenerlo cerca" jejej, y pues acá les dejo la solución, esto es para los que tenemos dialecto 1 en nuestro firebird (sin comentarios del porque...).



sql
  1. SELECT
  2.   CAST((CURRENT_TIMESTAMP+1 - F.FAC_FECHA) AS INTEGER) AS DIF
  3. FROM
  4.   TABLA



Nota: el "+1" es para tomar en cuenta el día de la fecha inicial, es decir, del 1 de sep a la fecha (7 sep) son 6 días, bueno así nos lo regresaría la sentencia, pero si queremos que nos cuente el día 1 pues le aumentamos un "1" y asi se cuentan los 7 días que han transcurrido, me explique?...

saludos    (b)

saludos.

  • 0

#3 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 07 septiembre 2010 - 09:35

Buenas,

Si sólo te interesa lo que es fechas, sin lo que sería la franja horaria, también existe en current_date.

Lo que ya no se es si éste existe en dialecto 1.

Nos leemos

PD: un consejo, a la que puedas, pasa esa base de datos a dialecto 3 ;)

  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 07 septiembre 2010 - 09:43

Buenas,

Si sólo te interesa lo que es fechas, sin lo que sería la franja horaria, también existe en current_date.

Lo que ya no se es si éste existe en dialecto 1.

Nos leemos

PD: un consejo, a la que puedas, pasa esa base de datos a dialecto 3 ;)


De hecho se utiliza el CURRENT_TIMESTAMP porque el dialecto 1 no soporta CURRENT_DATE.

Salud OS


  • 0

#5 razadi

razadi

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 681 mensajes
  • LocationMéxico D.F.

Escrito 07 septiembre 2010 - 11:21

Buenas,

Si sólo te interesa lo que es fechas, sin lo que sería la franja horaria, también existe en current_date.

Lo que ya no se es si éste existe en dialecto 1.

Nos leemos

PD: un consejo, a la que puedas, pasa esa base de datos a dialecto 3 ;)


Gracias amigo cadetill, pero como dice egostar, el current_date, sólo esta para dialect 3 y por razones y politicas de la empresa, no lo podemos cambiar de dialecto a la base de datos pero gracias por tu consejo.

Saludos.

  • 0

#6 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 07 septiembre 2010 - 01:12

Saludos.

Tarde pero también tienes a mano estas sentencias para Dialecto 1:


sql
  1. SELECT CAST('NOW' AS TIMESTAMP)
  2. FROM RDB$DATABASE
  3.  
  4. SELECT CAST('TODAY' AS TIMESTAMP)
  5. FROM RDB$DATABASE
  6.  
  7. SELECT CAST('YESTERDAY' AS TIMESTAMP)
  8. FROM RDB$DATABASE


  • 0




IP.Board spam blocked by CleanTalk.