🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] Firebird Abfrage CURRENT_TIMESTAMP rechnen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
malt14
Beiträge: 125
Registriert: Fr 7. Nov 2014, 06:21

[gelöst] Firebird Abfrage CURRENT_TIMESTAMP rechnen

Beitrag von malt14 » Sa 12. Mär 2022, 18:36

Guten Tag,

in einer Firebird Abfrage will ich mit Datum und Zeitstempel rechnen.

Code: Alles auswählen

SELECT "ID", "1timestamp", "2timestamp", "date", "days", "hours", CURRENT_TIMESTAMP, "1timestamp" - "2timestamp" "1timestamp-2timestamp", "date" - "days" "date-days", "date" - "hours" / 24.0000 "date-hours", "1timestamp" - "days" "1timestamp-days", "1timestamp" - "hours" / 24.0000 "1timestamp-hours", "1timestamp" - CAST( "date" AS TIMESTAMP ) "1timestamp-date" FROM "time_date"
Wie kann ich in der Abfrage CURRENT_TIMESTAMP zum Rechnen verwenden?
"1timestamp"- CURRENT_TIMESTAMP, "date" - CURRENT_TIMESTAMP führen zu Fehlermeldungen.
Das Ergebnis sollte in einem Formular sowohl als Zeitstempel wie als Dezimalzahl dargestellt werden können.

Grüße
Malt

Version: 7.2.5.2 (x64) / LibreOffice Community
Build ID: 499f9727c189e6ef3471021d6132d4c694f357e5
CPU threads: 6; OS: Windows 10.0 Build 22000; UI render: Skia/Raster; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: CL
Zuletzt geändert von malt14 am So 13. Mär 2022, 19:05, insgesamt 1-mal geändert.

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Firebird Abfrage CURRENT_TIMESTAMP rechnen

Beitrag von RobertG » Sa 12. Mär 2022, 18:48

Hallo Malt,

was für Fehlermeldungen erhältst Du denn? Bei der Subtraktion von Zeitstempeln müsste das eine Zahl mit Nachkommastellen ergeben. Das gibt dann die Differenz in Tagen (und eben Bruchteilen von Tagen) an. Habe ich nur zu dem Zeitpunkt getestet, als ich das für das Handbuch untersucht habe.

Es kann sein, dass das nicht in der GUI nur bei direktem SQL funktioniert. Dann musst Du den Timestamp bzw. das Datum umwandeln:
CURRENT_DATE – "Datum" → funktioniert nicht in der GUI, sondern nur mit direktem SQL
CAST( CURRENT_DATE AS DATE ) – "Datum" → funktioniert in der GUI
"1timestamp"- CURRENT_TIMESTAMP → müsste also in direktem SQL funktionieren
"1timestamp"- CAST(CURRENT_TIMESTAMP AS TIMESTAMP) → müsste in der GUI funktionieren.

Ein Datum kannst Du aber nicht von einem Zeitstempel abziehen. Das sind ja unterschiedliche Datentypen. Da musst Du das Datum schon in einen Zeitstempel umwandeln. Vermutlich brauchst Du dann die Zeit 0 Uhr.

Die Sachen zum Rechnen mit Datum und Zeit stehen alle im Anhang des Handbuches.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

malt14
Beiträge: 125
Registriert: Fr 7. Nov 2014, 06:21

Re: Firebird Abfrage CURRENT_TIMESTAMP rechnen

Beitrag von malt14 » So 13. Mär 2022, 14:01

Hallo Robert,

Dank für Deine hilfreiche Antwort.

Es ist wie Du schreibst:
"1timestamp"- CURRENT_TIMESTAMP funktioniert in direktem SQL
"1timestamp"- CAST(CURRENT_TIMESTAMP AS TIMESTAMP) funktioniert in GUI. Muss ich im Handbuch übersehen haben.

In Formularen formatiert man Zahlen z.B. als Uhrzeit mit [H]:MM:SS. Gibt es eine Möglichkeit Tausendertrennzeichen einzufügen, 1583:27:48 wird zu 1.583:27:48?

Kann man hier im Forum odb Dateien hochladen? Mir wird bei "Dateien hinzufügen" *.odb nicht angezeigt, jedoch *.odt.

Grüße
Malt

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Firebird Abfrage CURRENT_TIMESTAMP rechnen

Beitrag von RobertG » So 13. Mär 2022, 15:12

Hallo Malt,

das mit den Tausendertrennzeichen habe ich noch nie probiert. Vielleicht lädst Du einfach die Datei hoch. Packe sie als *.zip-Datei oder ändere einfach die Dateiendung und schreibe das dabei. Das mit den *.odb-Dateien ist eben ein Einstellungsmangel des Forums hier, das ja mit LibreOffice selbst eigentlich nichts zu tun hat. Würde das bei https://ask.libreoffice.org vorkommen, dann wäre das als Bug zu melden.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

malt14
Beiträge: 125
Registriert: Fr 7. Nov 2014, 06:21

Re: Firebird Abfrage CURRENT_TIMESTAMP rechnen

Beitrag von malt14 » So 13. Mär 2022, 19:06

Hallo Robert,

da jetzt alles funktioniert, ergänze ich das Thema in gelöst.

Ich füge die time-date-FB.odb Datei in time-date-FB.zip bei.
Im Formular Abfrage1 enthält die Spalte 1timestamp-CURRENT_TIMESTAMP das Format [H]:MM:SS. Ein Tausendertrennzeichen wäre übersichtlicher.

Grüße
Malt
Dateianhänge
time-date-FB.zip
(25.99 KiB) 135-mal heruntergeladen

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: [gelöst] Firebird Abfrage CURRENT_TIMESTAMP rechnen

Beitrag von RobertG » So 13. Mär 2022, 20:57

Hallo Malt,

die Tausendertrennzeichen bekomme ich so auch nicht hin. Wie wäre es denn, wenn Du das Ganze bereits in der Abfrage in eine Kombination aus ganzen Tagen und Stunden umwandelst? Dann käme bei den Stunden maximal 23:59:59 raus und davor würden Tage stehen.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

malt14
Beiträge: 125
Registriert: Fr 7. Nov 2014, 06:21

Re: [gelöst] Firebird Abfrage CURRENT_TIMESTAMP rechnen

Beitrag von malt14 » Mo 14. Mär 2022, 11:42

Hallo Robert,

Gute Idee.
Die Formate für Formulare scheint man nicht verändern oder ergänzen zu können. Das müsste wohl in LO programmiert werden. Für Firebird wäre eine höhere Priorität, Bugs zu korrigieren. Ich kann z.B. keine Daten von ods Dateien ohne Primärschlüssel einfügen, weil dann der Auto-Wert nicht funktioniert.

Grüße
Malt


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten