Einzelnen Beitrag anzeigen

Incocnito

Registriert seit: 28. Nov 2016
210 Beiträge
 
#1

Postgres: interval als ParamByName

  Alt 28. Feb 2022, 13:38
Datenbank: postgres • Version: 10.4 • Zugriff über: MyDac
Moin zusammen.

Ich brauche mal einen kurzen Tipp:
Wenn ich eine SQL-Abfrage mit Werten fülle nutze ich eigendlich immer ParamByName.
Bei dem Wert hinter "interval" klappt das aber nicht.

Delphi-Quellcode:
Query.SQL.Text := 'SELECT * FROM Tab1 WHERE (status = :iStatus) AND (ts_create <= (current_timestamp + interval ''-1 days''))';
Query.ParamByName('iStatus').AsInteger := MY_FUNNY_STATE{2};
funktioniert, aber

Delphi-Quellcode:
Query.SQL.Text := 'SELECT * FROM Tab1 WHERE (status = :iStatus) AND (ts_create <= (current_timestamp + interval :sInterval))';
Query.ParamByName('iStatus').AsInteger := MY_FUNNY_STATE{2};
Query.ParamByName('sInterval').AsString := '-1 days';
geht nicht.

Ist jetzt nicht die richtige SQL, aber man sieht worauf ich hinaus will.
Ich hoffe da hat sich jetzt kein Tippfehler eingeschlichen, der einen auf eine falsche Spur lockt.
Was ist der Trick bei Postgres-interval?

Liebe Grüße
Incocnito
  Mit Zitat antworten Zitat