-
Datumsproblem
Momentan habe ich folgendes Problem:
Gegeben ist jeweils ein Feld in Datei X und Datei Y. Beide sind gepackt definiert 9,0.
Die Datensätze sind über weitere Felder miteinander vernüpft und nur durch den Feldinhalt eindeutig zuzuordnen.
In beiden Feldern ist ein Tagesdatum (Format: YYYYMMDD mit einer führenden 0) gespeichert. Ich muss ein SQL erfinden (und stelle mich dabei wieder einmal zu blöd an) das ermittelt, wie viele Kalendertage zwischen den beiden Daten liegen, bzw. die ermitteln in denen X+1 = Y ist.
Genutzt werden kann ausschließlich SQL mit den Built in Funktionen bis Betriebssystemversion V5R3
Falls jemand eine Idee oder Lösung hat, würde ich mich wie immer sehr freuen, an diesem Wissen zu partizipieren.
Vielen Dank im voraus
Burkhard
-
1. Umwandeln in ein ISO-Datum:
date(substr(digits(mydate), 1, 4) || '-' || substr(digits(mydate), 5, 2) || '-' || substr(digits(mydate), 7, 2))
Umrechnen in Tage:
days(
date(substr(digits(mydate), 1, 4) || '-' || substr(digits(mydate), 5, 2) || '-' || substr(digits(mydate), 7, 2))
)
Differenz also:
days(
date(substr(digits(mydate), 1, 4) || '-' || substr(digits(mydate), 5, 2) || '-' || substr(digits(mydate), 7, 2))
) - days(
date(substr(digits(mydate2), 1, 4) || '-' || substr(digits(mydate2), 5, 2) || '-' || substr(digits(mydate2), 7, 2))
)
-
So etwas habe ich bereits probiert,
aber ich bekomme z.B. bei der date Ermittlung folgende Ergebnisse
Datum ____ SQL macht daraus
2006/06/27 ++++++++++
2006/06/27 ++++++++++
2010/12/31 0201-01-23
2010/12/31 0201-01-23
Wo liegt das Problem das ich nicht durchblicke?
Ich kann, wenn ich das Ganze mittels cast in DEC(8) umwandele, day, month und year korrekt ermitteln.
Immer noch verwirrt, Tendenz steigend
Burkhard
-
Wie du schreibst sind deine Datumsfelder 9stellig und haben eine führende 0. Ihr Format ist also 0YYYYMMTT. Das Jahr beginnt somit an Stelle 2, der Monat an Stelle 6 und der Tag an Stelle 8. Nimm' also besser:
date(
substr(digits(mydate), 2, 4) || '-' ||
substr(digits(mydate), 6, 2) || '-' ||
substr(digits(mydate), 8, 2))
-
:-)
Danke jetzt klappt's !
Wald vor lauter Bäumen nicht mehr gesehen.
Und auch danke für die "-" im Datumsformat.
Das wasste ich mal wieder nicht und dabe es nicht geschafft einen berechenbaren Wert zu ermitteln.
urkhard
Similar Threads
-
By muadeep in forum IBM i Hauptforum
Antworten: 13
Letzter Beitrag: 27-10-06, 11:35
-
By Joe in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 26-08-05, 09:11
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