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

Consulta en ASP

Estas en el tema de Consulta en ASP en el foro de ASP Clásico en Foros del Web. Estimados maestros, como puedo construir un selec que utilice datediff para determinar la diferencia entre dos campos fechas que sean > a 30 dias. Estos ...
  #1 (permalink)  
Antiguo 27/02/2002, 16:00
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 22 años, 9 meses
Puntos: 0
Consulta en ASP

Estimados maestros, como puedo construir un selec que utilice datediff para determinar la diferencia entre dos campos fechas que sean > a 30 dias. Estos dos campos fechas están en tablas diferentes.

ejemplo de datos:

tabla: "dia", campo: "fecha1" = '20020223'
tabla: "mes", campo: "fecha2" = '20020227'


Salu2 y gracias de Antemano.
Daniel desde Venezuela
  #2 (permalink)  
Antiguo 27/02/2002, 16:06
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: Consulta en ASP

no entendi bien... puedes poner un ejemplo?

tengo una idea que tal vez funcione pero no se si sea lo que buscas...

saludos
  #3 (permalink)  
Antiguo 27/02/2002, 16:15
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Consulta en ASP

Tengo dos Tablas
1) Dia
2) Mes
Cada tabla tiene un campo fecha con la nomenclatura aaaammdd (20020227)

ahora necesito contruir un selec para obtener los registros cuando la diferencia entre fechas sea mayor a 30 días.
se deben abrir las dos tablas para comparar las fechas.
  #4 (permalink)  
Antiguo 27/02/2002, 16:27
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: Consulta en ASP

hi

no se si esto funcione sería cosa de que revisaras

SQL="SELECT DIA.FECHA, MES.FECHA FROM DIA,MES WHERE (DIA.FECHA-MES.FECHA)>30 OR (DIA.FECHA-MES.FECHA)<-30"

saludos :)
  #5 (permalink)  
Antiguo 27/02/2002, 16:30
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Consulta en ASP

Estoy probando, ya te aviso hermano
  #6 (permalink)  
Antiguo 27/02/2002, 16:54
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Consulta en ASP

No me funciona creo que debo utilizar datediff porque las fechas están en formato texto

ejemplo:

aaaammdd
20020227
  #7 (permalink)  
Antiguo 27/02/2002, 17:07
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: Consulta en ASP

ASI?

SQL="SELECT DIA.FECHA AS FECHA, MES.FECHA AS FECHA2 FROM DIA,MES WHERE DateDiff(dd,FECHA,FECHA2)>30"

saludos :(
  #8 (permalink)  
Antiguo 27/02/2002, 17:28
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Consulta en ASP

Arroja lo siguiente,

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Visual FoxPro Driver]SQL: no se encuentra la columna 'DD'.
/multi2.asp, line 111

luego le coloco 'dd' y después me da :

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Visual FoxPro Driver]SQL: no se encuentra la columna 'FECHA'.
/multi2.asp, line 111


debe ser un detallito, pero no lo consigo. Tambien probé directo con los campos y me da:
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E37)
[Microsoft][ODBC Visual FoxPro Driver]El archivo 'datediff.prg' no existe.
/multi2.asp, line 111
  #9 (permalink)  
Antiguo 27/02/2002, 17:35
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: Consulta en ASP

ASI?

SQL="SELECT DIA.FECHA , MES.FECHA FROM DIA,MES WHERE DateDiff('dd',DIA.FECHA,MES.FECHA)>30"


o asi

SQL="SELECT DIA.FECHA , MES.FECHA FROM DIA,MES WHERE DateDiff('Day',DIA.FECHA,MES.FECHA)>30"

me voy

saludos
  #10 (permalink)  
Antiguo 27/02/2002, 17:44
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Consulta en ASP

No me funciona, sera que como la db está Visual Foxprox no acepta la función datediff

porque me dice: No existe datediff.prg, cuando lo coloco en el select
  #11 (permalink)  
Antiguo 28/02/2002, 08:50
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Consulta en ASP

Maestros no se rindan, alguien me puede reponder....

Si tengo la DB en Visual Fox y estoy contruyendo un select con ASP, no puedo utilizar la función DATEDIFF?.

Al utilizarlo fuera del select funciona bien, pero no el Select.
  #12 (permalink)  
Antiguo 28/02/2002, 09:19
 
Fecha de Ingreso: enero-2002
Mensajes: 120
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Consulta en ASP

Prueba con CAST:
SELECT *
FROM mifichero WHERE (CAST(fecha1 AS datetime) - CAST(fecha2 AS datetime) < 30)
  #13 (permalink)  
Antiguo 28/02/2002, 09:42
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Consulta en ASP

no sale, me da este error..

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Visual FoxPro Driver]Falta ) en el nombre de función.
/multi2.asp, line 110

*******************
el selec es el siguiente:

SQL="SELECT acumave.tclo as fecha1, nacional.tclo as fecha2 FROM acumave,nacional WHERE (CAST(fecha1 AS datetime) - CAST(fecha2 AS datetime)) < 30 "

No creo que esto sea imposible.

Salu2, y espero la contribución de todos
  #14 (permalink)  
Antiguo 28/02/2002, 10:59
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Consulta en ASP

Hermanos, no se rindan, solo quiero obtener aquellos registros que resultan de la comparación de dos fechas que están en formato texto.

tabla: "diario"
campos: "fecha1,fecha2" y los datos tienen el siguiente formato texto:

aaaammdd
20020228

Ahora debo en el select comparar que fecha1-fecha2 sea menor a 30


Salu2, estoy seguro que me ayudarán como siempre
  #15 (permalink)  
Antiguo 28/02/2002, 13:04
 
Fecha de Ingreso: enero-2002
Mensajes: 120
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Consulta en ASP

Por lo que veo FoxPro es bastante delicado al tratar las funciones de Transact SQL. . Si no funciona CAST, seguro que FoxPro debe reconocer alguna función de conversión de tipos (en este caso de texto a fecha).
Sugiero que busques en la ayuda de FoxPro.
Seguro que debe haber algo que te vaya bien. Suerte
  #16 (permalink)  
Antiguo 28/02/2002, 13:08
 
Fecha de Ingreso: enero-2002
Mensajes: 120
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Consulta en ASP

¡Ops!. Espera un momente. Repasando tu respuesta, veo que el Select está mal mantado,
pones:
SQL="SELECT acumave.tclo as fecha1, nacional.tclo as fecha2 FROM acumave,nacional WHERE (CAST(fecha1 AS datetime) - CAST(fecha2 AS datetime)) < 30 "

cuando deberías poner:
SQL="SELECT acumave.tclo as fecha1, nacional.tclo as fecha2 FROM acumave,nacional WHERE acumave.[id]=nacional.[id] AND (CAST(fecha1 AS datetime) - CAST(fecha2 AS datetime)) < 30 "

Prueba otra vez con CAST.
  #17 (permalink)  
Antiguo 01/03/2002, 12:51
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Consulta en ASP

Gracias a todos, ya lo solucioné utilizando la función date(año,mes,dia)

Salu2
  #18 (permalink)  
Antiguo 12/03/2002, 08:49
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Consulta en ASP

Cual es la sintaxis de CAST
  #19 (permalink)  
Antiguo 15/03/2002, 09:18
 
Fecha de Ingreso: marzo-2002
Mensajes: 6
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Consulta en ASP

Oye "dguerr" cómo quedó al final el query?...sería bueno que lo compartieras para ver el resultado de toda esta discusión, no crees?

Es más yo creo que esta debería ser una práctica común para capitalizar el conocimiento dentro de los foros.

Saludos.
;)

Pillo
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 23:12.