Ich bin gerade dabei einen import von altdaten zu übernehmen. Dabei muß ich einen Offset berechnen…
ich versuche dabei folgendes zu bewerkstelligen:
select erfassungsdatum + '(6*5) day' from t_kv where nkvkey = 287
Diese Zeile soll bewirken, dass zum erfassungsdatum 6*5 also 30 tage dazuaddiert werden. Wenn ich dies ausführe werden jedoch 11 tage dazuaddiert.
In der Dokumentation steht folgendes Beispiel:
Name Example Result
interval '1 hour' * int '3' interval '03:00'
Also habe ich unter anderem folgendes versucht:
select erfassungsdatum + '6 day' * int '5' from t_kv where nkvkey = 287
Dabei bekomme ich aber einen nichtsausagenden Fehler…
Stelle: 0
PostgreSQL:1No query has been executed with that handle
Hä? Was habt ihr denn da am laufen …
Ausserdem: den Query setzt man (hoffentlich) als String zusammen und da sollte es ja egal sein, wieviele Doppelpunkte im String stehen …
Dort ist ein Doppelpunkt ein Sonderzeichen, um anzuzeigen, dass das Resultset der Abfrage in eine Bindvariable übergeben wird. Bindvariablen sind lokale variablen einer Funktion innerhalb derer ich die SQL abfrage mache.
Beispiel
SQLPrepareAndExecute( cursorhandle, “Selct XY from tabelle into :nKey” )
Damit wird Der Inhalt von XY in die lokale variable “nKey” geschrieben.
Bei einem doppelten : ist unsere Sprache dann aufgeschmissen…