El inconveniente surge cuando tenemos que realizar una operación sobre esta fecha, por ejemplo, traer con una consulta SQL las operaciones que se realizaron en el mismo día del mes anterior a una fecha determinada.
Para realizar esto, podemos valernos de la siguiente consulta, la cual va a convertir la fecha numérica a un formato date, realiza la operación correspondiente y vuelve a convertirla al formato correspondiente:
varchar_format(cast(cast(substr(FECHA, 1, 4)||substr(FECHA, 5, 2)||substr(FECHA, 7, 2) as date) - 1 month as timestamp), 'YYYYMMDD')
de esta forma, por ejemplo podríamos cruzar las operaciones de una fecha contra las del día anterior:
SELECT *
FROM TABLA t1
INNER JOIN TABLA t2
ON t2.fecha = varchar_format(cast(cast(substr(t1.FECHA, 1, 4)||substr(t1.FECHA, 5, 2)||substr(t1.FECHA, 7, 2) as date) - 1 day as timestamp), 'YYYYMMDD')
No hay comentarios:
Publicar un comentario