Foros del Web » Programando para Internet » ASP Clásico »

[B]Comparar fechas[/B]

Estas en el tema de [B]Comparar fechas[/B] en el foro de ASP Clásico en Foros del Web. Hola, tengo una base de datos en access en el que guardo fechas con la mascara de fecha corta. Y al hacer una sql para ...
  #1 (permalink)  
Antiguo 10/02/2009, 07:25
 
Fecha de Ingreso: febrero-2006
Mensajes: 19
Antigüedad: 19 años, 2 meses
Puntos: 0
[B]Comparar fechas[/B]

Hola,
tengo una base de datos en access en el que guardo fechas con la mascara de fecha corta. Y al hacer una sql para sacar las fechas mayores de hoy no me sale correcto. Las fechas en la base de datos estan guardadas dd/mm/yyyy y si muestro en pantalla la funcion Date() también me lo muestra en este formato. En cambio al ejecutar la siguiente sql según los resultados lo que me hace es a la fecha de hoy cambiarla a mm/dd/yyyy y sólo me saca las fechas mayores que está.
He cambiado la sql a lo siguiente:
WHERE (FECHA>=#" & Format(Date,"dd/mm/yyyy") & " # ) pero me da error.
Dice "no coinciden los tipos: format"

sql = "SELECT PETICIONSALAS.* "
sql = sql & "FROM PETICIONSALAS "
sql = sql & "WHERE PETICIONSALAS.enviado='Si' AND PETICIONSALAS.fecha2>= #" &Date()& "# "
sql = sql & "ORDER BY PETICIONSALAS.Fecha1 DESC;"
set rs = Conn.execute(sql)

¿alguna sugerencia? . gracias por su ayuda
  #2 (permalink)  
Antiguo 10/02/2009, 07:39
Avatar de DonPampero  
Fecha de Ingreso: enero-2009
Mensajes: 27
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: [B]Comparar fechas[/B]

no te entendi mucho, pero vere q puedo hacer
WHERE (FECHA>=#" & Format(Date,"dd/mm/yyyy") & " # ) pero me da error.
WHERE (FECHA>=#" & year(date()) & "/"&month(date())&"/"&day(date())&" # )

y para la fecha max

select max(FECHA) as fecha_maxima
from ....
...


saludos...
  #3 (permalink)  
Antiguo 10/02/2009, 07:55
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
Respuesta: [B]Comparar fechas[/B]

las fechas siempre seran un dolor en el trasero si es que no las manejas bajos tus propios estandares.

lo que yo hago en TODA ocacion. No importando en que lenguaje trabaje o en que BAse de datos trabaje, siempre, siempre, siempre y para todo, guardo las fechas en formato varchar14 como YYYYMMDDHHMMSS.

En tu caso, haria lo mismo.
ME haria una funcion en SQL server que dada una fecha la convierta a este formato , y por otro lado en ASP me hago una funcion que dada una fecha me la transforme en este formato , y ahi y solo ahi, las fechas estaran estandarizadas y podras hacer lo que quieras con ellas.

suerte con las fechas
  #4 (permalink)  
Antiguo 10/02/2009, 15:46
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: [B]Comparar fechas[/B]

prueba

fecha_hoy = date()
where month(campo_fecha) >= month(fecha_hoy) and day(campo_fecha) >= day(fecha_hoy)

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 11/02/2009, 04:17
 
Fecha de Ingreso: febrero-2006
Mensajes: 19
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: [B]Comparar fechas[/B]

Gracias a todos por vuestras respuestas. Sólo probé lo que me comentó Pampero y ya funciona. Os pongo el código por si alguien tiene el mismo problema

WHERE PETICIONSALAS.fecha2 >= #" & month(date()) & "/"&day(date())&"/"&year(date())&" # "

Lo que me resulta extraño es que en la base de datos está guardado como dia/mes/año. Y en cambio al comparar hay que poner mes/dia/año.

En fin... Gracias por vuestra colaboración, ayer perdí mucho tiempo con ello y no daba con el código.
  #6 (permalink)  
Antiguo 11/02/2009, 05:57
Avatar de DonPampero  
Fecha de Ingreso: enero-2009
Mensajes: 27
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: [B]Comparar fechas[/B]

sorry me equivoque era "año/mes/dia", pero en conclusion funciona de cualquier modo, solo hay q normalizarce llevando un orden de año mes y dia y todo funciona ok!...


Saludos...
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 11:12.