Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > SQL Server

Respuesta
 
Herramientas Desplegado
Antiguo 17-dic-2007, 23:45   #1 (permalink)
Kurace ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2007
Mensajes: 9
Ordenar fechas ya convertidas

Hola, buenos días. Mi duda es la siguiente.

Tengo una base de datos en el que mi jefe me pidió que realizara una consulta con fechas del tipo siguiente:

"1 de Diciembre del 2007".

Bueno, pues leyendo un poco, conseguí hacerlo gracias a los CONVERT que tiene SQL Server.

De este modo se tendría:

select distinct convert(varchar(11),d.insertDate,13) as insertDate from documents a, documentsl b, documentsfiles c, files d where a.idDocument = b.idDocument and b.idDocument = c.idDocument and enable = 1 and c.idFile = d.idFile order by insertDate desc

La consulta funciona perfectamente y hace lo que pido.

El problema es que las fechas tienen que estar ordenadas, por lo que ya existe un fallo en la consulta, pues la fecha, en lugar de estar ordenada por fechas, lo hace por orden alfabético . Esto es:

24 Abr 2002
14 Dic 2007
11 Dic 2007
09 Oct 2007
03 Dic 2007
01 Mar 2002

En lugar de:

14 Dic 2007
11 Dic 2007
03 Dic 2007
09 Oct 2007
24 Abr 2002
01 Mar 2002

La duda es ¿hay alguna manera de hacerlo que no sea muy traumática con ese formato? Porque estoy por pedirle a mi jefe de dejarlo en formato 01/12/2007, que ese sí funciona correctamente.

Muchas gracias y un saludo.
Kurace está desconectado   Responder Citando
Antiguo 18-dic-2007, 05:57   #2 (permalink)
Sir Matrix está en el buen camino
 
Avatar de Sir Matrix
 
Fecha de Ingreso: noviembre-2002
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.248
Enviar un mensaje por ICQ a Sir Matrix
Re: Ordenar fechas ya convertidas

Prueba así:

select distinct convert(varchar(11),d.insertDate,13) as FechaInsertada from documents a, documentsl b, documentsfiles c, files d where a.idDocument = b.idDocument and b.idDocument = c.idDocument and enable = 1 and c.idFile = d.idFile order by insertDate desc

saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
Sir Matrix está desconectado   Responder Citando
Antiguo 19-dic-2007, 01:09   #3 (permalink)
Kurace ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2007
Mensajes: 9
Re: Ordenar fechas ya convertidas

Cita:
Iniciado por Sir Matrix Ver Mensaje
Prueba así:

select distinct convert(varchar(11),d.insertDate,13) as FechaInsertada from documents a, documentsl b, documentsfiles c, files d where a.idDocument = b.idDocument and b.idDocument = c.idDocument and enable = 1 and c.idFile = d.idFile order by insertDate desc

saludos
Muchas gracias, pero así me dice que el nombre insertDate es ambiguo. Así que lo hice de esta forma:

select distinct d.insertDate, convert(varchar(11),d.insertDate,13) as FechaInsertada from documents a, documentsl b, documentsfiles c, files d where a.idDocument = b.idDocument and b.idDocument = c.idDocument and enable = 1 and c.idFile = d.idFile order by d.insertDate desc

Sé que hago un select de dos columnas, la del alias (FechaInsertada) y la real, ya que si no, el order by necesita que el nombre de las columnas esté en la selección.

Saludos y gracias.
Kurace está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:00.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93