AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Float Zeitsumme als Hh:Mm ausgeben!
Thema durchsuchen
Ansicht
Themen-Optionen

Float Zeitsumme als Hh:Mm ausgeben!

Ein Thema von hewy · begonnen am 3. Aug 2022 · letzter Beitrag vom 4. Aug 2022
Antwort Antwort
hewy

Registriert seit: 2. Aug 2006
Ort: Arni (Region Zürich) Schweiz
83 Beiträge
 
Delphi XE5 Enterprise
 
#1

AW: Float Zeitsumme als Hh:Mm ausgeben!

  Alt 4. Aug 2022, 08:17
Auch Moin,
Nun ja wollte die Zeiten welche ich aus einer Tabelle auslese die dort als Float gespeichert sind in einem Grid in zwei spaten anzeigen.
Einmal als Float und in der zweiten Spalte als Hh:Mm
Das liesse sich machen mit Zeiten kleiner 24 Stunden geht aber nicht wenn die Zeit darüber liegt. Dann wird in der zweiten Spalte immer mit 23:59 angezeigt.
Daher suche ich einen Weg den Float Wert am besten gleich in der SQL Abfrage entsprechend umzuformatieren.
Vielleicht hast Du dazu eine Vorstellung wie ich das sauber und performant hinbekomme.
Danke schon mal.
Heinrich Wyssen

Geändert von hewy ( 4. Aug 2022 um 09:36 Uhr)
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.134 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Float Zeitsumme als Hh:Mm ausgeben!

  Alt 4. Aug 2022, 10:17
Dann rechne es halt selbst aus:
FLOOR(TotalMonthDec) || ':' || (TotalMonthDec - FLOOR(TotalMonthDec)) * 60

Das ist ISO/IEC-SQL. Je nach Implementation musst du statt || (Konkatenationsoperator nach ISO/IEC) die CONCAT-Funktion verwenden oder +.
Janni
2005 PE, 2009 PA, XE2 PA

Geändert von Redeemer ( 4. Aug 2022 um 11:37 Uhr) Grund: "/ 100" war falsch
  Mit Zitat antworten Zitat
hewy

Registriert seit: 2. Aug 2006
Ort: Arni (Region Zürich) Schweiz
83 Beiträge
 
Delphi XE5 Enterprise
 
#3

AW: Float Zeitsumme als Hh:Mm ausgeben!

  Alt 4. Aug 2022, 10:42
Hallo Redeemer,
Vielen Dank für deine Antwort. Ja bleibt mir wohl nichts anderes übrig.
Leider unterstützt die hier verwendete SQLite Version 3.10 Floor() nicht.
Gibt es etwas dafür in Version 3.10 oder kann ich mit meinen Delphi XE5 auf einen neuere SQLite Version wechseln?
Heinrich Wyssen
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
345 Beiträge
 
Delphi 12 Athens
 
#4

AW: Float Zeitsumme als Hh:Mm ausgeben!

  Alt 4. Aug 2022, 10:52
Leider unterstützt die hier verwendete SQLite Version 3.10 Floor() nicht.
Dann caste es doch einfach als Integer Wert
  Mit Zitat antworten Zitat
hewy

Registriert seit: 2. Aug 2006
Ort: Arni (Region Zürich) Schweiz
83 Beiträge
 
Delphi XE5 Enterprise
 
#5

AW: Float Zeitsumme als Hh:Mm ausgeben!

  Alt 4. Aug 2022, 11:50
Danke auch eine Idee!
Heinrich Wyssen
  Mit Zitat antworten Zitat
hewy

Registriert seit: 2. Aug 2006
Ort: Arni (Region Zürich) Schweiz
83 Beiträge
 
Delphi XE5 Enterprise
 
#6

AW: Float Zeitsumme als Hh:Mm ausgeben!

  Alt 4. Aug 2022, 12:34
Und so habe ich es nun gelöst:

SELECT TotalMonthDec, CAST(TotalMonthDec AS INT) || ':' || substr('00'|| CAST((TotalMonthDec - CAST(TotalMonthDec AS INT)) * 60 AS INT), -2, 2) as TotTime FROM Tm_TimeDayData

Würde vielleicht auch noch etwas eleganter gehen.

Und hier das Resultat:
TotalMonthDec TotTime
2.73 2:43
2.17 2:10
23.15 23:08
27.15 27:08
Heinrich Wyssen

Geändert von hewy ( 4. Aug 2022 um 12:37 Uhr)
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.134 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Float Zeitsumme als Hh:Mm ausgeben!

  Alt 4. Aug 2022, 16:50
Ja genau.

Ich glaube übrigens, das Vorhandensein von Floor liegt weniger an der Version als daran, ob es mit aktivierten Mathe-Funktionen kompiliert wurde.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:24 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-2025 by Thomas Breitkreuz