![]() |
Datenbank: Interbase • Version: 6.1 • Zugriff über: egal
2 Timestamps subtrahieren und im Zeitformat ausgeben
:xmas: Hallo,
hier mal was scheinbar kniffliges. Ich habe zwei Timestamps - TS_Start wird beim Insert gesetzt, TS_End beim Update. Nun möchte ich per Select die Dauer zwischen Insert und Update ermitteln. TS_Start=30.11.2005 18:04:20 TS_End=30.11.2005 20:49:36 select TS_End-TS_Start from... = 0,114768518 :gruebel: Wie bekomme ich aus dieser Zahl einen repräsentativen Zeitwert (2:45:16)? Vielen Dank und eine schöne Adventszeit René |
Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben
Hallo René,
suchst du das hier?
Delphi-Quellcode:
Grüße vom marabu
ShowMessage(TimeToStr(TS_End - TS_Start));
|
Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben
Versuch es doch mal mit CAST:
SQL-Code:
Wenn es direkt im SQL sein soll. Wenn es nur um die Umwandlung in Delphi geht, dann die Lösung vom marabu.
select Cast(TS_End-TS_Start AS TIME) from ...
|
Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben
|
Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben
Zitat:
|
Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben
Hallo Union und Marabu,
ihr habt richtig festgestellt, ich möchte das Ganze unabhängig von Delphi in einer SQL-Abfrage realisieren. Unions Weg funktioniert nicht, da ein Typ-Umwandlungs-Fehler beim Cast auftritt. Mit Marabus Variante
SQL-Code:
bekomme ich aber leider nur 00:00:00 zurück.
select ..., cast('0:00' as time) + (b.ts_end - b.ts_start) as dauer,...
|
Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben
Aber so gehts...
SQL-Code:
Danke und freundliche Grüße zurück
select ...,cast('0:00' as time) + (cast(b.ts_end as time) - cast(b.ts_start as time)) as dauer,...
René |
Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben
Hallo René,
Zitat:
SQL-Code:
Hast es ja trotzdem hinbekommen.
cast('0:00' as time)
Vorweihnachtliche Grüße vom marabu |
Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben
Hallo :wink: ,
ich greife meine Frage nochmal auf. Jetzt benötige ich nicht die Ausgabe als Time, sondern als Int Das heißt, ich möchte die Anzahl der Sekunden oder Millisekunden ausgeben. Ist eine solche Conversion möglich? Danke im Voraus René |
Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben
Sorry, ich war einen Schritt vor der Lösung... :oops:
Aber falls es jemanden interessiert:
SQL-Code:
gibt mir die Dauer in Sekunden aus.
cast((cast(b.ts_end as time) - cast(b.ts_start as time)) as int)
Danke an mich selbst :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz