Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/08/2010, 15:11
Avatar de flaviovich
flaviovich
 
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Comparacion fechas

Haz de este codigo una funcion, pruebalo y haz los cambios que necesites:
Código SQL:
Ver original
  1. DECLARE @fch_ini datetime, @fch_fin datetime
  2. DECLARE @diasDif SMALLINT, @dias31 tinyint
  3.  
  4. SELECT @fch_ini = '20100302', @fch_fin = '20100630'
  5. SELECT @diasDif = datediff(d, LEFT(CONVERT(VARCHAR,@fch_ini,112),6) + '01',@fch_ini)
  6.  
  7. DECLARE @meses31 TABLE(mes tinyint)
  8. INSERT INTO @meses31
  9. SELECT 1 UNION
  10. SELECT 3 UNION
  11. SELECT 5 UNION
  12. SELECT 7 UNION
  13. SELECT 8 UNION
  14. SELECT 10 UNION
  15. SELECT 12
  16.  
  17. SELECT @dias31 = COUNT(1)
  18. FROM @meses31
  19. WHERE mes BETWEEN MONTH(@fch_ini) AND MONTH(@fch_fin)
  20.  
  21. SELECT datediff(d,@fch_ini, @fch_fin) - @dias31 + @diasDif
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.