Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/06/2011, 14:15
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 18 años
Puntos: 447
Respuesta: consulta con fechas

Hola rafaescalona

La función DATEDIFF te sirve (entre otras cosas) para poder saber cuantos días han transcurrido entre dos fechas, puedes usar esto junto con una sentencia CASE WHEN para armar los rangos.

Código SQL:
Ver original
  1. DECLARE @TuTabla TABLE (id INT, fec_ult_trasac datetime)
  2. INSERT INTO @TuTabla VALUES (1, '2011-05-14')
  3. INSERT INTO @TuTabla VALUES (2, '2011-06-10')
  4. INSERT INTO @TuTabla VALUES (3, '2011-06-26')
  5. INSERT INTO @TuTabla VALUES (4, '2011-01-01')
  6.  
  7. SELECT * FROM @TuTabla
  8.  
  9. SELECT id,
  10. CASE WHEN datediff(DAY, fec_ult_trasac, getdate()) BETWEEN 1 AND 15 THEN 'entre 1 y 15 días' ELSE
  11. CASE WHEN datediff(DAY, fec_ult_trasac, getdate()) BETWEEN 16 AND 31 THEN 'entre 16 y 31 días' ELSE
  12. CASE WHEN datediff(DAY, fec_ult_trasac, getdate()) BETWEEN 32 AND 45 THEN 'entre 31 y 45 días' END END END
  13. rango
  14. FROM @TuTabla

aquí faltaría incluir cuando los rangos para cuando la diferencia sea menor o igual a 0 o cuando sea mayor a 45 es por eso que el último registro aparece como NULL es cuestión de que incluyas la condición o filtres la información.

Saludos