Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-01-2008
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
resta de fechas como entero

tengo el campo fecha_ingreso.

Quisiera sacar la diferencia en años totales entre la fecha de hoy y esa fecha de ingreso. Por ejemplo: Si un trabajador entro en 2000-03-25 el resultado seria 7, ya que faltan aun un par de meses para el octavo año.

Como puedo lograr esto mediante una instruccion sql? Gracias
Responder Con Cita
  #2  
Antiguo 07-01-2008
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.084
Poder: 18
juanelo Va por buen camino
Que tal,
No mencionas que manejador de base de datos utilizas.
Podria ser con un simple Cast .
Responder Con Cita
  #3  
Antiguo 07-01-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Hola lo puedes hacer con la funcion DATEDIFF:

Código SQL [-]
SELECT DATEDIFF('1997-11-31','1997-12-31');

->30

SELECT DATEDIFF('fecha_ingreso','CURDATE()') from tabla;

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.

Última edición por enecumene fecha: 07-01-2008 a las 17:57:18.
Responder Con Cita
  #4  
Antiguo 07-01-2008
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
disculpa, manejo sql server 2000. Y bueno, mi consulta es la siguiente:

Código SQL [-]
select factor_integracion from sistemas_ant_rangos where sistema_antiguedad = trabajadores_grales.sistema_antiguedad
     and limite_inferior = 'aqui iria el entero getdate() - fecha_ingreso'

Gracias tambien por la sugerencia enecumene pero no me funciona ya que mis fechas tienen formato 'YYYYMMDD' ademas de que me dice que la funcion DATEDIFF necesita 3 argumentos :S

Si alguien tiene mas sugerencias se lo agradezco

Última edición por Gaim2205 fecha: 07-01-2008 a las 18:00:32.
Responder Con Cita
  #5  
Antiguo 07-01-2008
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
Bueno, lo logré. Gracias por su ayuda, al final me quedó asi:

Código SQL [-]
select factor_integracion from sistemas_ant_rangos where sistema_antiguedad = trabajadores_grales.sistema_antiguedad
     and limite_inferior = DATEDIFF(year,trabajadores_grales.fecha_ingreso,getdate()) AS 'FACTOR INT.'
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Suma o resta de fechas el_enigma1 SQL 7 11-10-2013 19:27:55
Resta de fechas Y horas Iskariote0087 Varios 3 05-12-2006 22:31:05
resta de fechas en firebird reina SQL 2 10-04-2006 21:26:32
REsta Fechas Juanito-Kun Firebird e Interbase 2 11-10-2005 20:52:23
Resta de fechas en RaveReport paufra Impresión 0 08-07-2005 13:29:36


La franja horaria es GMT +2. Ahora son las 02:14:11.


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