FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Campo DATA
Ola pessoal,
Boa tarde, Gostaria de esclarecer uma dúvida. Eu converti uma tabela do PARADOX para o MySQL, so que ha um problema num campo tipo DATE. Na nova tabla (MySQL) o campo "DATE" esta com valores irreais como por exemplo: "2028-04-20" "2023-04-20" "2025-04-20" Etc... Por que está ocorrendo isto? Gracias, Abraços para todos, WaRRanT |
#2
|
||||
|
||||
El problema puede tener su origen en el hecho de que MySql y Paradox manejan distintos formatos de fecha. En MySql el formato es yyyy-mm-dd mientras que en Paradox es mm/dd/yyyy de manera que de alguna forma tendrás que ocuparte de la conversión.
// Saludos |
#3
|
|||
|
|||
E como eu poderia resolver isso?
|
#4
|
||||
|
||||
¿Cómo estás exportando las tablas?
Lo que algunas veces he hecho es generar una tabla en paradox para hacer un "casting" y convertir el campo al formato adecuado. Tendrías que usar la función CAST para pasar de DATE a CHAR: CAST(fecha as CHAR(10)) La función SUBSTRING para separar los elementos de la fecha: SUBSTRING(campo from 1 for 2) - month SUBSTRING(campo from 4 for 2) - day SUBSTRING(campo from 7 for 4) - year y volver a juntarlos con el formato adecuado: year + '-' + month + '-' + day // Saludos |
#5
|
|||
|
|||
Roman,
Eu estou convertendo pelo DATAPUMP. Instalei o MyODBC e criei um alias definindo pra onde as tablas serão convertidas e o tipo. |
#6
|
||||
|
||||
Acabo de instalar myodbc pero aclaro que no tengo mucha idea de esto.
Traté de usar datapump y no sólo no obtuve fechas correctas sino que ¡no obtuve fecha alguna! Sin embargo, hice una prueba rápida con Delphi: Código:
{ TablaMysql - componente Table conectada al alias odbc TablaParadox - componente Table conectada al alias paradox } while not TablaParadox.Eof do begin TablaMySql.Append; TablaMySql['fecha'] := TablaParadox['fecha']; { otros campos } TablaParadox.Next; end; Conclusión: no sé usar odbc con datapump o datapump no es bueno Si te fijas, al menos en mi caso, cuando miras la tabla de conversión de campos en datapump ni siquiera te permite escoger el tipo date del lado de mysql. // Saludos |
#7
|
|||
|
|||
Roman,
O formato de data da minha tabla PARADOX não está MM-DD-YYYY, e sim DD-MM-YYYY |
#8
|
||||
|
||||
Tienes razón, estaba confundido. El que indicas es también el formato que yo tengo. Aún así, como ves de mi anterior mensaje, pude hacer la exportación.
// Saludos |
#9
|
|||
|
|||
Roman,
Que significa "fecha"? |
#10
|
||||
|
||||
fecha = date
es sólo el nombre de un campo de tipo DATE // Saludos |
#11
|
|||
|
|||
Roman,
Ok... Então deixe-me ver se entendi. Eu pego a tabla PARADOX e mudo o tipo do campo de DATE para CHAR. E então eu implemento o codigo que você postou acima? Assim? Gracias, WaRRanT |
#12
|
||||
|
||||
Cita:
Al salir el tema de odbc lo del CHAR pasó a la historia Simplemente creas una tabla en mysql con la estructura similar a la tabla de paradox y luego usas el código adaptándolo a los campos que tenga tu tabla. No hay necesidad de cambiar los tipos de datos- al menos en lo que a DATE se refiere, aunque no creo que otros tipos de datos te den problemas. // Saludos |
#13
|
|||
|
|||
Amigo Roman,
A funcion que voce me passou funcionou perfeitamente!! Gracias!! Agora em consequencia da mudança do campo data está dando uma problema com uma sentença no Delphi. Vou postar em OFF aqui no foro de MySQL. Desculpe-me se isso es contra as regras do forum. "empresa:=BdGlobal.QyEmpresaCodigo.Value; data:= Strtodate(DbEdit2.text); If not QyDiario.Locate('Empresa;Data',VarArrayOf([empresa, data]),[loCaseInsensitive]) then " Quando é executado esta retornando o erro "INVALID VARIANT TYPE CONVERSION" Ja tentei varias coisas e nao sei porque se passa este erro... Gracias, Abraços para todos! WaRRanT |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|