Hola, realmente ya he probado todo y no se me ocurre por donde viene el
problema.
Tengo unas bases DBase IV, las cuales tengo que tomar en un proceso
automatico.
El tema que en esas bases hay mucha info y yo tengo que ir tomando solo el
ultimo mes.
Esto se correria automaticamente todos los principios de mes.
Por ende se me habia ocurrido algo asi:
Hago la Coneccion a DBase y la coneccion a la base de SQL
Y armo una Tarea de Transformacion de Datos asi:
SELECT *
FROM ORD_IT
WHERE (FEC BETWEEN ? AND ?)
El tema es que las funciones me Devuelven un formato de Fecha que no es
compatible con los parametros que me permite la transformacion (Date) y lo
que me devuelve la funcio es Datetime, probe con CONVERT(varchar(10),
PrimerDiaMesAnterior, 103) (lo cual me entrega 01/09/2005) pero me da un
error en los parametros que no coincide el tipo de datos. Los parametrso
son 2 Funciones que detallo al final.
Si pongo manualmente en las Variables Globales 01/09/2005, Todo Ok. pero
necesito que sea automatico.
Desde ya muchas gracias, y espero no haberlos aburrido y haberme explicado
bien.
CREATE FUNCTION PrimerDiaMesAnterior(@F as datetime)
RETURNS datetime
AS
BEGIN
Declare @Fecha as datetime
SET @Fecha = CAST('01' + '/' + CAST(month(dateadd(m,-1,@F)) as varchar(2)) +
'/' + CAST(Year(dateadd(m,-1,@F)) as varchar(4)) as datetime)
Return @Fecha
END
y
CREATE FUNCTION UltimoDiaMesAnterior(@F as datetime)
RETURNS datetime
AS
BEGIN
Declare @Fecha as datetime
SET @Fecha = CAST('01' + '/' + CAST(month(dateadd(m,-1,@F)) as varchar(2)) +
'/' + CAST(Year(dateadd(m,-1,@F)) as varchar(4)) as datetime)
Return Dateadd(d,-1,Dateadd(m,1,@Fecha))
END
Leer las respuestas