Door een bug in een programma zijn datums van twee maanden fout opgeslagen. i.p.v de correcte maand is er 0 ingevuld in de perl functie om unix time te maken, waardoor dus alles in januarie valt. Nu is het zo dat het maar twee maanden fout is gegaan, dus dat valt wel te fixen. De datum is als een integer met UTC epoch opgeslagen.
Hiervoor wil ik de epoch naar text omzetten, door middel van een string replace de maand aanpassen, en vervolgens weer terugzetten naar een epoch integer. Een werkbaar plan lijkt me.
Deels lukt dat ook wel. Het enige probleem is de conversie van de tijd string terug naar epoch. Daarvoor wil in EXTRACT gebruiken.
Dat ziet er dan als volgt uit (voorlopig nog ff geen update maar een select om het goed te testen):
(maand 01 replace ik dus met 11)
Dit geeft echter de volgende error:
de replace zelf werkt prima, dat heb ik al getest. Het lijk erop dat zodra je EXTACT een dynamisch opgebouwde text voorschotelt, het niet meer werkt. Ik hoop dat iemand van jullie een oplossing heeft. Heb al vanalles geprobeerd te casten en om te zetten, maar het helpt allemaal niet
Hiervoor wil ik de epoch naar text omzetten, door middel van een string replace de maand aanpassen, en vervolgens weer terugzetten naar een epoch integer. Een werkbaar plan lijkt me.
Deels lukt dat ook wel. Het enige probleem is de conversie van de tijd string terug naar epoch. Daarvoor wil in EXTRACT gebruiken.
Dat ziet er dan als volgt uit (voorlopig nog ff geen update maar een select om het goed te testen):
SQL:
1
2
| SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE replace(text(abstime(enddate::int4)),'-01-','-11-')) FROM xxx WHERE id BETWEEN ? and ?; |
(maand 01 replace ik dus met 11)
Dit geeft echter de volgende error:
code:
1
| ERROR: parser: parse error at or near "replace" at character 52 |
de replace zelf werkt prima, dat heb ik al getest. Het lijk erop dat zodra je EXTACT een dynamisch opgebouwde text voorschotelt, het niet meer werkt. Ik hoop dat iemand van jullie een oplossing heeft. Heb al vanalles geprobeerd te casten en om te zetten, maar het helpt allemaal niet
Do diamonds shine on the dark side of the moon :?