CONSULTA SIMPLE Ayuda!!!

11/05/2007 - 15:40 por Diego | Informe spam
Tengo una tabla con "n" registros cada uno de los cuales tiene fecha y hora
de creación lo que necesito es obtener el ultimo aviso creado es decir el que
tiene la fecha y hora mayor, vale aclarar que mis dos campos 'fecha_creada' y
'hora_creada' estan declarados como string, no como date en mi base de
datos... Estoy trabajando con SQL SERver EXPress 2005
Ejemplo

Tabla Prueba
COd. fecha_creada hora_creada
1 11/05/2007 07:00:00
2 10/05/2007 07:50:00
3 12/05/2007 07:00:00
4 09/05/2007 07:10:00
5 12/05/2007 07:01:00 (- ESTE REGISTRO SERIA LA RESPUESTA

Aclaro nuevamente que los campos en donde se almacena la fecha y la hora
estan declarados char

Espero su repuesta y gracias de antemano

Saludos
Diego
 

Leer las respuestas

#1 Manuel Vera
11/05/2007 - 16:07 | Informe spam
Hola Diego

Imagino que ya te diste cuenta que el problema que tienes es haber declarado
esos campos como char.
Sin embargo, tienes una solución. Puedes convertir esos campos a tipo fecha
utilizando las funciones CONVERT() y/o CAST() de SQL SERVER.

Ya que esos campos son tipo char puedes manipular sus valores con otras
funciones, como por ejemplo, SUBSTRING() o SUBSTR(), LEFT(), RIGHT, etc...
esto en caso de que no puedas convertir los datos directamente y tengas que
recurrir a cortar y pegar.

Finalmente, deberás utilizar la clausula ORDER BY... algo como:

ORDER BY CONVERT( datetime , <fecha> ) DESC

donde <fecha> sería algo como:

fecha_creada + ' ' + hora_creada

En caso de no funcionar esa conversión directa, entonces aplica las otras
funciones de corte-y-pega.

Se me olvidaba, lo último es colocar en el SELECT lo siguiente:

SELECT TOP 1 .

Para que solo traigas la última fila o la más reciente.

Saludos
MV



"Diego" escribió en el mensaje
news:
Tengo una tabla con "n" registros cada uno de los cuales tiene fecha y
hora
de creación lo que necesito es obtener el ultimo aviso creado es decir el
que
tiene la fecha y hora mayor, vale aclarar que mis dos campos
'fecha_creada' y
'hora_creada' estan declarados como string, no como date en mi base de
datos... Estoy trabajando con SQL SERver EXPress 2005
Ejemplo

Tabla Prueba
COd. fecha_creada hora_creada
1 11/05/2007 07:00:00
2 10/05/2007 07:50:00
3 12/05/2007 07:00:00
4 09/05/2007 07:10:00
5 12/05/2007 07:01:00 (- ESTE REGISTRO SERIA LA
RESPUESTA

Aclaro nuevamente que los campos en donde se almacena la fecha y la hora
estan declarados char

Espero su repuesta y gracias de antemano

Saludos
Diego

Preguntas similares