I have the below query:
INSERT INTO TEMP_USAGE_REPORTING
(SELECT ABC.EPCCLASS_ID, ABC.EPCCLASS_SEARCH_PAT, ABC.SERIAL, ABC.EVENT_RECORD_DT, ABC.EVENT_RECORD_TM
FROM
(SELECT EVENT_EPC.EPCCLASS_ID, EPCCLASS.EPCCLASS_HEADER, EPCCLASS.EPCCLASS_SEARCH_PAT, EVENT_EPC.EVENT_EPC_URI_SN AS SERIAL, EVENT.EVENT_EVENT_DT, EVENT.EVENT_RECORD_DT, EVENT.EVENT_RECORD_TM, EVENT.EVENT_SUB_ID, ROW_NUMBER() OVER (PARTITION BY EVENT_EPC.EVENT_EPC_URI_SN, EPCCLASS.EPCCLASS_SEARCH_PAT
ORDER BY EVENT.EVENT_RECORD_DT) AS RN
FROM EVENT
LEFT JOIN EVENT_EPC ON EVENT.EVENT_SUB_ID = EVENT_EPC.EVENT_SUB_ID
LEFT JOIN EPCCLASS ON EVENT_EPC.EPCCLASS_ID = EPCCLASS.EPCCLASS_ID
WHERE TO_TIMESTAMP(EVENT.EVENT_RECORD_DT::TEXT || ' ' || LPAD(EVENT.EVENT_RECORD_TM::TEXT, 9, '0'), 'yyyy-mm-dd HH24MISSFFF') >= TO_TIMESTAMP('2024-02-12'::varchar || ' ' || '170000892'::varchar, 'yyyy-mm-dd HH24MISSFFF')
AND TO_TIMESTAMP(EVENT.EVENT_RECORD_DT::TEXT || ' ' || LPAD(EVENT.EVENT_RECORD_TM::TEXT, 9, '0'), 'yyyy-mm-dd HH24MISSFFF') <= TO_TIMESTAMP('2024-03-01'::varchar || ' ' || '005959999'::varchar, 'yyyy-mm-dd HH24MISSFFF') ) ABC
WHERE ABC.RN = 1
GROUP BY ABC.EPCCLASS_ID, ABC.EPCCLASS_SEARCH_PAT, ABC.SERIAL, ABC.EVENT_RECORD_DT, ABC.EVENT_RECORD_TM);
This query is working fine in oracle but getting this error in postgres:
ERROR: date/time field value out of range: "2024-02-12 170000892"
SQL state: 22008
The time is in "HHmmssSSS"
format. For oracle this condition is working but dont know why it’s not working for postgres. Please if anyone could help with this?
I have tried changing the format to HH24MISSFF3 but this is also not working.
New contributor
Aditya Ranjan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.