Anmelden

View Full Version : SQL TIME



tarkusch
16-03-14, 19:52
Hallo,

ich summiere in einen Sqlstatement Minuten auf:
TIME('00:00.00') SUM(Z1SOLM) MINUTES) AS SUMME.

Kann ich das Feld Summe auf das Format HH:MM umwandeln laasen?

lg

TARKI

B.Hauser
17-03-14, 05:51
Was willst Du denn genau?
Aus einer echten Zeit die Stunden und Minuten in Minuten umrechnen, d.h. Stunden * 60 + Minuten?
Und dann das Ergebnis über mehrere Zeilen/Spalten aufaddieren?
Oder willst Du die Differenz zwischen 2 Zeiten in Minuten ausrechnen?

Birgitta

tarkusch
17-03-14, 05:56
Morgen Birgitta,

ich hätte die Minuten über mehrere Zeilen aufsummiert und anschließend im Format HH:MM dargestellt.

Lg

TARKI

Fuerchau
17-03-14, 07:21
TIME('00:00.00') + SUM(Z1SOLM) MINUTES) AS SUMME

tarkusch
17-03-14, 07:37
Sorry Tippfehler von mir hier, das "+" hatte ich im Sql-Statement.

Ich hätte statt der Darstllung 00:00:00 gerne 00:00 gehabt.

BenderD
17-03-14, 07:41
... das geht so (a la Baldur) natürlich auch nur fast (Gültigkeitsbereich eingeschränkt auf 0 <= Minuten < 12 bzw. 24 Stunden).

Meines Erachtens ist das auch im Ansatz eine Verbiegung von SQL DML ( := Data manipulation language, d.h. Daten extrahieren, ändern, löschen etc.) Aufbereitungsfunktionen für die Darstellung in reports gehören in das Frontend oder in HLLs, wobei ich SQL Procedures hier schon für grenzwertig erachte.

D*B

andreaspr@aon.at
17-03-14, 07:56
Im welchem Format die Zeit angezeigt wird, hängt von dem Zeitformat (TIMFMT) ab.
Ich würde jedoch auch das Format im Front-End PGM anpassen.

Du kannst aber auch das Ergebnis in einen String konvertieren und die Sekunden abschneiden.
Left ( char (Time('00:00:00') ) , 5 )

lg Andreas

tarkusch
17-03-14, 08:37
Danke mit Left hat das toll geklappt.

Ich wollte mir eigentlich PGM-Code ersparen und alles mit einem Sql(SqlString) abhandeln:
SqlData= 'CREATE TABLE QTEMP/DATEN AS('+
%trimr(SqlString) + ') WITH DATA';

lg

TARKI