Discussion:
Fechas de clarion a SQL
(demasiado antiguo para responder)
Marcos Beccar Varela
2004-12-09 22:57:37 UTC
Permalink
Hola, tengo una base de datos que importé desde TPS de Clarion, resulta que
los campos que sean de fechas utilizan un código de Clarion que es un tipo
de datos Numerico que cuenta a partir del dia 28/12/1800. No se porque ese
fecha, me suena a capricho, cuestion que si el nro en el campo fecha es 4
(por ejemplo) eso significa que la fecha es 01/01/1801.
Alguien sabe como convertir dichas fechas por ejemplo el tipo CHAR
"20041205" AAAAMMDD. Gracias y espero haber sido claro.
Saludos desde Argentina!
MAXI
2004-12-09 23:45:33 UTC
Permalink
Hola, no te entendi bien como esta esa fecha :( de todas maneras veamos unos
temas

1) que tipo de datos estas pasando estas fechas? usas Datetime de SqlServer
o SmallDatetime?
2) tenes fechas tan viejas?

Para convertir las fechas poder usar Convert, pero de todas maneras el
guardado de las fechas no se hace en ningun formato ya que SqlServer guarda
numeros y no fechas.
--
------------------------------------------

Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messenger: ***@msn.com
---------------------------------------------------
Post by Marcos Beccar Varela
Hola, tengo una base de datos que importé desde TPS de Clarion, resulta que
los campos que sean de fechas utilizan un código de Clarion que es un tipo
de datos Numerico que cuenta a partir del dia 28/12/1800. No se porque ese
fecha, me suena a capricho, cuestion que si el nro en el campo fecha es 4
(por ejemplo) eso significa que la fecha es 01/01/1801.
Alguien sabe como convertir dichas fechas por ejemplo el tipo CHAR
"20041205" AAAAMMDD. Gracias y espero haber sido claro.
Saludos desde Argentina!
Gustavo Larriera [MVP]
2004-12-10 00:03:51 UTC
Permalink
create function ConvertirFechaClarion2sql(@fechaNumericaClarion int) returns
datetime
as
begin
return dateadd(d, @fechaNumericaClarion, '18001228')
end
go

-- responde 1/1/18001
select dbo.ConvertirFechaClarion2sql(4)

-- Lo de usar 28/12/1800 en Clarion debe ser porque era el día de los
Inocentes :-)
--
Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
--
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
--
Post by Marcos Beccar Varela
Hola, tengo una base de datos que importé desde TPS de Clarion, resulta que
los campos que sean de fechas utilizan un código de Clarion que es un tipo
de datos Numerico que cuenta a partir del dia 28/12/1800. No se porque ese
fecha, me suena a capricho, cuestion que si el nro en el campo fecha es 4
(por ejemplo) eso significa que la fecha es 01/01/1801.
Alguien sabe como convertir dichas fechas por ejemplo el tipo CHAR
"20041205" AAAAMMDD. Gracias y espero haber sido claro.
Saludos desde Argentina!
Marcos Beccar Varela
2004-12-10 14:37:58 UTC
Permalink
Muchas gracias Gustavo, ya lo voy a investigar!
saludos
Post by Gustavo Larriera [MVP]
datetime
as
begin
end
go
-- responde 1/1/18001
select dbo.ConvertirFechaClarion2sql(4)
-- Lo de usar 28/12/1800 en Clarion debe ser porque era el día de los
Inocentes :-)
--
Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
--
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
--
Post by Marcos Beccar Varela
Hola, tengo una base de datos que importé desde TPS de Clarion, resulta que
los campos que sean de fechas utilizan un código de Clarion que es un tipo
de datos Numerico que cuenta a partir del dia 28/12/1800. No se porque ese
fecha, me suena a capricho, cuestion que si el nro en el campo fecha es 4
(por ejemplo) eso significa que la fecha es 01/01/1801.
Alguien sabe como convertir dichas fechas por ejemplo el tipo CHAR
"20041205" AAAAMMDD. Gracias y espero haber sido claro.
Saludos desde Argentina!
Jose Luis
2004-12-10 18:59:38 UTC
Permalink
Clarion no tiene un tipo de dato que sea explicitamente fecha aunque asi se
indique en su diccionario de datos, usa internamente un valor entero como
contador de dias a partir de una fecha incial. De hecho casi todas las bases
de datos almacenan igual las fechas, toman una fecha inical como cero y solo
almacenan como valor entero la diferencia desde esa fecha hasta la que se
quiere introducir en la base de dato

Por otra parte si has importado las tablas a mssql desde tablas tps habra
sido con DTS usando el driver topspeed odbc para tablas tps, con este driver
al importar las tablas los campos de fecha se reconocen como tales y mssql
almacena la fecha correcta.

Cual es el problema?
Post by Marcos Beccar Varela
Hola, tengo una base de datos que importé desde TPS de Clarion, resulta que
los campos que sean de fechas utilizan un código de Clarion que es un tipo
de datos Numerico que cuenta a partir del dia 28/12/1800. No se porque ese
fecha, me suena a capricho, cuestion que si el nro en el campo fecha es 4
(por ejemplo) eso significa que la fecha es 01/01/1801.
Alguien sabe como convertir dichas fechas por ejemplo el tipo CHAR
"20041205" AAAAMMDD. Gracias y espero haber sido claro.
Saludos desde Argentina!
Marcos Beccar Varela
2004-12-10 19:11:00 UTC
Permalink
Hola José Luis, vos sabrías donde puedo conseguir el driver ODBC para tablas
TPS?
Alguno gratuito o de prueba que no tenga la pantalla de muestra que tiene la
version de desarrollo como el que viene con el Calrion.
Gracias a todos
Post by Jose Luis
Clarion no tiene un tipo de dato que sea explicitamente fecha aunque asi se
indique en su diccionario de datos, usa internamente un valor entero como
contador de dias a partir de una fecha incial. De hecho casi todas las bases
de datos almacenan igual las fechas, toman una fecha inical como cero y solo
almacenan como valor entero la diferencia desde esa fecha hasta la que se
quiere introducir en la base de dato
Por otra parte si has importado las tablas a mssql desde tablas tps habra
sido con DTS usando el driver topspeed odbc para tablas tps, con este driver
al importar las tablas los campos de fecha se reconocen como tales y mssql
almacena la fecha correcta.
Cual es el problema?
Post by Marcos Beccar Varela
Hola, tengo una base de datos que importé desde TPS de Clarion, resulta
que
Post by Marcos Beccar Varela
los campos que sean de fechas utilizan un código de Clarion que es un tipo
de datos Numerico que cuenta a partir del dia 28/12/1800. No se porque ese
fecha, me suena a capricho, cuestion que si el nro en el campo fecha es 4
(por ejemplo) eso significa que la fecha es 01/01/1801.
Alguien sabe como convertir dichas fechas por ejemplo el tipo CHAR
"20041205" AAAAMMDD. Gracias y espero haber sido claro.
Saludos desde Argentina!
Jose Luis
2004-12-11 12:41:36 UTC
Permalink
Yo uso el de desarrollo que es el que viene con el Clarion y funciona
perfectamente, para lo que tu quieres debe servirte, el 'otro' el que no
muestra la pantalla ( de hecho creo que la unica diferencia entre uno y otro
es esa pantalla ) es de pago y hay que comprarlo a parte del Clarion en
www.softvelocity.com

Un saludo.
Post by Marcos Beccar Varela
Hola José Luis, vos sabrías donde puedo conseguir el driver ODBC para tablas
TPS?
Alguno gratuito o de prueba que no tenga la pantalla de muestra que tiene la
version de desarrollo como el que viene con el Calrion.
Gracias a todos
Post by Jose Luis
Clarion no tiene un tipo de dato que sea explicitamente fecha aunque asi
se
Post by Jose Luis
indique en su diccionario de datos, usa internamente un valor entero como
contador de dias a partir de una fecha incial. De hecho casi todas las
bases
Post by Jose Luis
de datos almacenan igual las fechas, toman una fecha inical como cero y
solo
Post by Jose Luis
almacenan como valor entero la diferencia desde esa fecha hasta la que se
quiere introducir en la base de dato
Por otra parte si has importado las tablas a mssql desde tablas tps habra
sido con DTS usando el driver topspeed odbc para tablas tps, con este
driver
Post by Jose Luis
al importar las tablas los campos de fecha se reconocen como tales y
mssql
Post by Jose Luis
almacena la fecha correcta.
Cual es el problema?
Post by Marcos Beccar Varela
Hola, tengo una base de datos que importé desde TPS de Clarion, resulta
que
Post by Marcos Beccar Varela
los campos que sean de fechas utilizan un código de Clarion que es un
tipo
Post by Jose Luis
Post by Marcos Beccar Varela
de datos Numerico que cuenta a partir del dia 28/12/1800. No se porque
ese
Post by Jose Luis
Post by Marcos Beccar Varela
fecha, me suena a capricho, cuestion que si el nro en el campo fecha
es
Post by Marcos Beccar Varela
4
Post by Jose Luis
Post by Marcos Beccar Varela
(por ejemplo) eso significa que la fecha es 01/01/1801.
Alguien sabe como convertir dichas fechas por ejemplo el tipo CHAR
"20041205" AAAAMMDD. Gracias y espero haber sido claro.
Saludos desde Argentina!
Loading...