View Full Version : Datum
Hi *all
ich habe zwei TimeStamp Felder welche ich von einander subtrahieren will/muß !!
das Ergebnis soll die Differenze in Tagen, Stunden, Minuten, Sekunden sein.
(am besten wieder in einem TimeStamp-Feld oder auch separat in mehreren Felder -> Tag, St, Min, etc.)
gibt's ne Lösung in RPGLE oder vielleicht auch in SQL?
select TimpStampA - TimeStampB ...
Das Ergebnis ist ein Timestamp, dass die Differenz in Jahren/Monaten/Tagen/Stunden/Minuten/Sekunden/Microsekunden enthält.
Das Ergebnis ist ein Timestamp, dass die Differenz in Jahren/Monaten/Tagen/Stunden/Minuten/Sekunden/Microsekunden enthält.
Das Ergebnis ist ein numerisches Feld im Format 20,6, auch wenn die Differenz in JJJJMMDDHHMMSS,msmsms ausgegeben wird.
Birgitta
denke mal das es sich hier um SQL im free-format handelt oder?
hab das einfach mal so versucht:
D TimeStmp_A s z inz(*sys)
D TimeStmp s z
D Test s 20 6
D Datum s 8 0 inz(*zero)
D ZeitA s 6a inz('050000')
C Eval Datum = 20090712
C Eval TimeStmp =
C %date(Datum:*ISO) + %time(ZeitA:*HMS0)
/free
Exec SQL Select :TimpStampA - :TimeStamp into :Test
/end-free bekomme dann beim umwandeln immer folgenden SQL-Fehler:
30 /end-free
5722ST1 V5R4M0 060210 SQL-ILE-RPG-Objekt erstellen
DIAGNOSENACHRICHTEN
MSG ID WTK SATZ TEXT
SQL0104 30 30 Position 23 Token / ungültig. Gültige Token: , FROM.
Nachrichtenzusammenfassung
Gesamt Info Warnung Fehler Wertigk. Beendigung
1 0 0 0 1 0 oder bin ich da irgendwie auf dem "Holzweg"?
Zusatz:
Hab das in meinem ersten "Post" vielleicht nicht ganz richtig beschrieben!
die beiden TimeStamp-Felder kommen aus einem RPGLE-Programm und werden von diesem auch gefüllt
Wenn es in RPGLE sein soll, dann versuch es mal mit:
%DIFF (Difference Between Two Date, Time, or Timestamp Values) %DIFF
näheres dazu im Handbuch nachlesen
Karl-Heinz
da kann ich aber doch nur angeben ob ich das Ergebnis in Tagen oder in Stunden, etc. haben will und nicht in Tagen, Std., u. Sekunden.
exec sql set : MyVar = : MyTime1 - : Mytime2;
jetzt bekomm ich dann folgende Meldung:
29 Exec SQL set : Test = : TimeStamp_a - : TimeStamp;
5722ST1 V5R4M0 060210 SQL-ILE-RPG-Objekt erstellen
DIAGNOSENACHRICHTEN
MSG ID WTK SATZ TEXT
SQL0312 30 29 Position 50 Variable TIMESTAMP_A nicht definiert oder
nicht verwendbar.
SQL0312 30 29 Position 66 Variable TIMESTAMP nicht definiert oder
nicht verwendbar.
Wenn ich mir dein Post von 08:03 anschaue, dann sind die Felder ja auch in den D-Bestimmungen anders definiert.
Schau noch mal genau auf die schreibweise
Ronald