Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

cast en access

Estas en el tema de cast en access en el foro de Bases de Datos General en Foros del Web. Que tal mi duda es la siguiente tengo un campo de tipo texto en el cual guardo una fecha, lo se esta mal pero el ...
  #1 (permalink)  
Antiguo 14/03/2006, 16:54
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años
Puntos: 37
cast en access

Que tal mi duda es la siguiente

tengo un campo de tipo texto en el cual guardo una fecha, lo se esta mal pero el sistema no lo hice yo y lo estoy modificando, lo que pasa es que tengo un problema con las fechas de que aveces me lo toma como dd/mm/aaaa y aveces como mm/dd/aaaa, y bueno lo que se me ocurrio es hacer una consulta y extraer los caracteres es decdir

select mid(fecha,1,2) as dia, mid(fecha,4,2) as mes, mid(fecha,7,4) as anio
from bla bla bla
where (dia between 2 and 20) and ...............;

lo que pasa es que quiero convertir ese campo dia a entero para que se pueda realizar el between bien, mi pregunta concreta es si hay una funcion como el convert o el cast de sql para access, o si hay alguna sugerencia de como resolver este problema de las fechas, todas son bienvenidas, eso si no puedo modificar los campos de la base de datos,

gracias. bye
  #2 (permalink)  
Antiguo 14/03/2006, 17:01
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años
Puntos: 37
consulta

Bueno escribo mi consulta haber si es mas fácil de entender

SELECT ETAPA1.id_registro, ETAPA1.RFC, ETAPA1.CURP, ETAPA1.PROGRAMA, ETAPA1.EMPRESA, ETAPA1.CALLE, ETAPA1.COLONIA, municipio2.Mun_Desc, ETAPA1.CONTACTO, ETAPA1.TELEFONO, ETAPA1.FAX, ETAPA1.SECTOR, ETAPA1.TOTAL, ETAPA1.TAMANO, ETAPA1.TIEMPO_OP, ETAPA1.EXPORTA, Extensionistas2.Nombre, ETAPA1.FEC_APLIC, ETAPA1.CP, ETAPA1.RAMA,
int(Mid(fec_aplic,1,2)) AS dia_apl,int(Mid(fec_aplic,4,2)) AS mes_apl, int(Mid(fec_aplic,7,4)) AS anio_apl

FROM municipio2 INNER JOIN ((ETAPAS INNER JOIN ETAPA1 ON ETAPAS.id_registro = ETAPA1.id_registro) INNER JOIN Extensionistas2 ON ETAPA1.id_exten = Extensionistas2.id_exten) ON (municipio2.Mun_Id = ETAPA1.MUNICIPIO) AND (municipio2.Id_Estado = ETAPA1.ESTADO)

WHERE ETAPA1.PROGRAMA='FP2004-1233'
AND (int((Mid(fec_aplic,7,4))>2005 And int(Mid(fec_aplic,7,4))<2006))
OR ( int(Mid(fec_aplic,7,4)) In (2005,2006) AND (int(Mid(fec_aplic,4,2))>3 And int(Mid(fec_aplic,4,2))<3) )
OR (int(Mid(fec_aplic,7,4)) In (2005,2006) AND (int(Mid(fec_aplic,4,2)) In (3,3) AND int(Mid(fec_aplic,1,2)) Between 14 And 14)));

tambien me esta haciendo algo extraño, por qeu en el where si pongo el alias
anio_apl>2005 me pide ese parametro, es la razon por la que lo escribí así

gracias
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 20:57.