Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

ordenar fechas en sql server

Estas en el tema de ordenar fechas en sql server en el foro de SQL Server en Foros del Web. hola buenos dias, saludos a todos y espero puedan ayudarme mi duda es la siguiente: tengo una tabla en sql que guarda los dias festivos ...
  #1 (permalink)  
Antiguo 12/02/2010, 10:29
 
Fecha de Ingreso: julio-2008
Mensajes: 52
Antigüedad: 15 años, 9 meses
Puntos: 0
ordenar fechas en sql server

hola buenos dias, saludos a todos y espero puedan ayudarme
mi duda es la siguiente: tengo una tabla en sql que guarda los
dias festivos de una empresa, mi problema esq al ordenarlos obvio quiero que aparezcan por mes,
pero me ordena alfabeticamente, bueno investigando entontre que asi podria hacerse

SELECT * FROM DIAS_FESTIVOS ORDER BY MONTH(Mes_festivo);

pero no funciona porque el mes solo guarda el nombre del mes
osea no guardo la fecha si no solo el dia ya que ese dia aplicara para
todos los años por ejemplo no va a poner 25-diciembre-2009 y al cada año ponerlo


mi tabla esta asi
se llama DIAS_FESTIVOS
y contiene dos campos
Dia_festivo que guarda el valor del dia por ejemplo 25
y Mes_festivo que guarda el mes con letra por ejemplo ENERO

ojala puedan ayudarme a hacer la consulta en sql para que me organice por fechas
primero los de enero, luego febrero y asi;

gracias y un saludo a todos
  #2 (permalink)  
Antiguo 12/02/2010, 12:26
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: ordenar fechas en sql server

Graso error no guardar la informacion en los tipos de campos adecuados.

No te queda otra que utilizar CASE

CASE WHEN MES = 'ENERO' THEN 1
WHEN MES = 'FEBRERO' THEN 2
WHEN MES = 'MARZO' THEN 3
................................
................................
ELSE 12 END
  #3 (permalink)  
Antiguo 12/02/2010, 13:34
 
Fecha de Ingreso: julio-2008
Mensajes: 52
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: ordenar fechas en sql server

hola iislas:
te agradezco infinitamente por tu ayuda me sirvio de mucho que me dieras la
solucion, del guardado de los datos fue asi porque los campos asi se requiere que
se graben y bien aqui va la solucion por si alguien mas
entra y tiene la misma duda se soluciona asi


select * from DIAS_FESTIVOS order by
case when Mes_festivo='ENERO' then 1
when Mes_festivo='FEBRERO' then 2
when Mes_festivo='MARZO' then 3
when Mes_festivo='ABRIL' then 4
when Mes_festivo='MAYO' then 5
when Mes_festivo='JUNIO' then 6
when Mes_festivo='JULIO' then 7
when Mes_festivo='AGOSTO' then 8
when Mes_festivo='SEPTIEMBRE' then 9
when Mes_festivo='OCTUBRE' then 10
when Mes_festivo='NOVIEMBRE' then 11
else 12
end, Dia_festivo asc;


con esto me ordeno por meses osea enero, febrero y asi y ademas me ordeno por dias
una excelente solucion GRACIAS GRACIAS GRACIAS

Etiquetas: fechas, server, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:03.