SQL - SOCORRO problemas con fechas

 
Vista:

SOCORRO problemas con fechas

Publicado por Mariano (2 intervenciones) el 05/11/2001 15:19:35
Tengo el siguiente problema lo que debo hacer es realizar una consulta de Visual Basic(en eso no hay problema), que me filtre datos metreologigos de distintas tablas y las inserte en una nueva hasta ahi todo bien el problema surge cuando debo realizar el filtrado (los datos de origen de las tablas se actualizan cada una hora) de todo un año, tendria que resumirlo todo en 12 registros, ya que saco las maximas y minimas de cada mes, el drama surge por que tengo problemas con las fechas que filtran cualquier cosa. Si pueden ayudarme desde ya muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SOCORRO problemas con fechas

Publicado por carla (18 intervenciones) el 05/11/2001 18:45:02
Como te habras dado cuenta SQL Server maneja las fechas en el siguiente formato Año-mes-dia Hora:minuto:Segundo
cuando es un tipo DATETIME,
Ahora lo que tu puedes cambiar es la forma como se despliega, acontinuacion te envio un ejemplo utilizando la funcion CONVERT,
esta consulta ejecutala en la base de datos PUBS

SELECT PubDate, CONVERT (CHAR (10), PubDate, 101), CONVERT (CHAR (10), PubDate, 102),
CONVERT (CHAR (10), PubDate, 103)
FROM Titles
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SOCORRO problemas con fechas

Publicado por Nícolas Kracker (13 intervenciones) el 06/11/2001 23:26:12
Haber, esto esta bueno, cuando estes haciendo procesos de fechas, te recomiendo usar la funcion datepart(), por que, ya que ls fecha no siempre es manejada independiente del formato de server, las funciones saben muy bien que es lo que debe filtrar, si ocupas esto en la condicion deberia quedarte asi

Select * from Tabla where datepart(dd, fecha) = vrDia and datepart(mm, fecha) = vrMes and datepart(yy, fecha) = vrAño

si lo ocupas para hacer el order by, esto queda de la siguiente manera

Select fecha from Tabla where datepart(dd, fecha) = vrDia and datepart(mm, fecha) = vrMes and datepart(yy, fecha) = vrAño ORDER BY datepart(dd, fecha)

ahora bien, si el problema es despliegue correcto, la solucion esta en el formato de salida, o sea,

Select convert(varchar(10), fecha, 108) as fechaformat from tabla datepart(dd, fecha) = vrDia and datepart(mm, fecha) = vrMes and datepart(yy, fecha) = vrAño ORDER BY fechaformat ASC

para mas informacion ve el libro en linea de sql server, y en especial convertir los datos fecha, ahi encontraras mas informacion de lo que necesitas, si tienes dudas o consultas mas precisas, enviame un email y te lo respondere a la brevedad


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar