Adding two dates

select (DATE_TRUNC(‘DAY’,‘2023/01/01’ + ‘2023/01/11’);

ERROR: operator is not unique: unknown + unknown
LINE 1: select date_part(DATE_TRUNC(‘DAY’,‘2023/01/01’ + '2023/01/11…
^
HINT: Could not choose a best candidate operator. You might need to add explicit type casts.
SQL state: 42725
Character: 48

Das macht keinen Sinn.

Was erwartest Du denn als Ergebnis von "1 Januar 2023" + "11 Januar 2023"?

1 „Gefällt mir“

ORAKEL:

CASE WENN TRUNC(DUE_DATE_122 + COLITP_DAYS_DUE_DATE_144) < TRUNC(RESCHEDULE_DATE_733) THEN
RESCHEDULE_DATE_733
ANDERS
(DUE_DATE_122 + COLITP_DAYS_DUE_DATE_144)
ENDE als cch_dt

PostgreSQL:

CASE WHEN DATE_TRUNC(‘DAY’,DUE_DATE_122 ::DATE + COLITP_DAYS_DUE_DATE_144)
< DATE_TRUNC(‘DAY’,RESCHEDULE_DATE_733::DATE) DANN
RESCHEDULE_DATE_733
ANDERS
(DUE_DATE_122 + COLITP_DAYS_DUE_DATE_144)
ENDE als cch_dt

FEHLER: Operator existiert nicht: Datum + Zahl

Postgres unterstützt nur date + integer. Vermutlich ist COLITP_DAYS_DUE_DATE_144 als numeric (oder float) definiert. Dann musst Du das zu einem integer machen:

DUE_DATE_122::date + COLITP_DAYS_DUE_DATE_144::int

Warum wird DUE_DATE_122 eigentlich zu einem DATE ge-castet? Warum ist die Spalte nicht als DATE definiert?

1 „Gefällt mir“

@castorp Problem behoben.

Vielen Dank.