none
Case con rango de fechas SQL RRS feed

  • Pregunta

  • Hola! Una consulta, tengo una fecha de nacimiento y tengo que hacer un rango con esa fecha,mejor dicho clasificar a los registros por ese rango:

    este es el rango de fechas:

    y tengo que clasificar a los registros en ese rango por su fecha de nacimiento;estaba pensando con un case

    algo asi:

    case fechaNac when 1

    then 'recienNacido'

    case

    fechaNac when 2

    then 'Lactantes' .......

    Pero como puedo hacer para que ponga las fechas en ese rango ! 

    viernes, 29 de abril de 2016 17:35

Respuestas

  • Hola RODRIGOMEJIA,

    Podrías hacer lo siguiente:

    SELECT
    	 CASE 
    		WHEN  DATEDIFF(DAY, fechaNac , GETDATE()) BETWEEN 0 AND 27 THEN 'RECIÉN NACIDO'
    		WHEN  DATEDIFF(DAY, fechaNac , GETDATE()) >= 28 AND DATEDIFF(MONTH, fechaNac , GETDATE()) <= 24 THEN 'LACTANTES'
    		WHEN  DATEDIFF(YEAR, fechaNac , GETDATE()) BETWEEN 2 AND 5 THEN 'PRE-ESCOLAR'
    		WHEN  DATEDIFF(YEAR, fechaNac , GETDATE()) BETWEEN 6 AND 12 THEN 'ESCOLAR'
    		...
    	END

    • Marcado como respuesta José De Alva lunes, 9 de mayo de 2016 3:56
    viernes, 29 de abril de 2016 18:08