-
100 = 1 Monat und 0 Tage?
-
ja klar, danke
die umsetzung in Tage fehlt.
Danke
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Wenn Du mit SQL die Differenz zwischen 2 Datums-Werten berechnest, ist das Ergebnis eine 8-Stellige Zahl das die Differenz in dem folgenden Format ausgibt: YYYYMMDD:
1-4: 4-stelliges Jahr (Differenz in ganzen Jahren)
5-6: 2-stelliger Monat (Rest-Differenz in ganzen Monaten)
7-8: 2-stellige Tage (Rest-Differenz in Tagen)
Wenn Du die Differenz zwischen 2 Datums-Werten in Tagen benötigst, muss Du beide Daten zunächst mit der Funktion DAYS() in die rechnerische Anzahl Tage seit dem 01.01.0001 konvertieren und anschließend von einander subtrahieren:
Values(Days(YourDate1) - Days(YourDate2))
-
Wobei die DIFF-Function generell mit 30 Tagen je Monat rechnet.
-
 Zitat von Fuerchau
Wobei die DIFF-Function generell mit 30 Tagen je Monat rechnet.
Eine DIFF-Funktion gibt es nicht (zumindest nicht auf Db2 for i)!
Es gibt noch die eine Funktionen TimestampDiff und TimestampDiff_Big die (fast) jede beliebige Zeit-Differenz (Mikro-Sekunden, Sekunden, Minuten, Stunden, Tage, Wochen, Monate, Quartale, Jahre) zwischen 2 Zeitmarken berechnen kann.
Allerdings gehen diese Funktionen von Schätzwerten aus, d.h. ein Jahr hat 365 Tage und ein Monat 30 Tage.
Wenn man die Differenz in Tagen benötigt, sollte man die Funktion DAYS verwenden und beide Werte in die rechnerische Anzahl Tage seit dem 01.01.0001 konvertieren und dann beide Werte subtrahieren.
Diese Anzahl an Tagen stimmt!
Die Differenz-Rechnung von Zeiten ist korrekt.
Benötigt man die Differenz in Anzahl Sekunden zwischen 2 Zeitwerten oder Zeitmarken mit dem gleichen Datum), kann man die Anzahl Sekunden (seit Mitternacht) mit Midnight_Seconds für beide Werte ermitteln und anschließend subtrahieren.
Oder man verwendet TimestampDiff (die ein bisschen unhandlich ist, da die Differenz alphanumerisch (CHAR(22) in YYYYMMDDHHMMSS,MSMSMS (plus Vorzeichen) übergeben werden muss).
Falls man für eine Zeitmarke in Anzahl Sekunden nach Microsoft (Sekunden seit 01.01.1970-00-00-00) kann man diese über die Funktion EXTRACT ermitteln:
Code:
EXTRACT(Epoch from YourTimestamp)
-
Ich habe nur abgekürzt. Ich hätte auch xxxDIFF nehmen können, wenn es dich verwirrt haben sollte;-).
-
 Zitat von Fuerchau
Ich habe nur abgekürzt. Ich hätte auch xxxDIFF nehmen können, wenn es dich verwirrt haben sollte;-).
als Programmierer kürzt man lieber nicht ab. Das verführt nur
IBM Champion 2022, 2023, 2024, 2025, 2026
Common Europe Advisory Council / Hall of Fame
arbeitet am Vorruhestand.
http://pub400.com
visit www.POWERbunker.com for bespoke IBM i hosting
-
 Zitat von Fuerchau
Wobei die DIFF-Function generell mit 30 Tagen je Monat rechnet.
 Zitat von B.Hauser
..
Allerdings gehen diese Funktionen von Schätzwerten aus, d.h. ein Jahr hat 365 Tage und ein Monat 30 Tage.
...
Manchmal braucht man genau das, vor allem wenn es um Buchhaltungsdaten geht. Ich hatte mal das Thema bei einer Warenbewertung im Abgleich mit einem Wirtschaftsprüfer im Rahmen ein Übernahme.
Da gab es dann Differenzen zwischen 30/365 und meiner genauen Rechnung.
Similar Threads
-
By ElmarKraus in forum IBM i Hauptforum
Antworten: 10
Letzter Beitrag: 31-03-10, 07:35
-
By KingofKning in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 23-07-09, 11:17
-
By BikerKini in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 19-03-07, 16:58
-
By jjagi in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 07-07-06, 08:29
-
By smallutz in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 09-03-01, 08:50
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks