[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2003
    Beiträge
    21

    Datum in Query

    Hallo Forum,
    Ich muss mit einem Query die Sätze vom Vortag herausziehen. Das Bestelldatum habe ich mit

    Feld Ausdruck
    BESTDAT DIGITS(BAEJMT)
    TAG Substr(bestdat, 7, 2)
    MONAT Substr(bestdat, 5, 2)
    JAHR Substr(bestdat, 1, 4)
    DATUMBEST Tag !! '.' !! Monat !! '.' !! Jahr

    von JJJJ.MM.DD auf DD.MM.JJJJ umgestellt.

    Jetzt möchte ich alle Datensätze suchen, bei welchen die Differenz zwischen DATUMBEST und dem Tagesdatum = 1 ist.

    Wer kann mir einen Tipp geben? Schon jetzt vielen Dank.

    Gruss Rolf

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    In Query etwas komplizierter:
    1. ISO-Datum generieren
    DBEST = substr(digits(bestdat), 1, 4) !! '-' !! substr(digits(bestdat), 5, 2) !! '-' substr(digits(bestdat), 7, 2)

    datebest = date(dbest)
    vgldate = date(days(current(date)) - 1)
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Feb 2003
    Beiträge
    21

    Talking

    Hallo Fuerchau
    Besten Dank für den TIPP
    Über Nacht habe ich in "Grossmutters"-Query-Handbuch eine andere Lösung gefunden:

    ZEICHDAT Digits(BAEJMT)
    ZEICHDAT2 Substr(Zeichdat, 7, 2)!!'.'!!
    Substr(Zeichdat, 5, 2)!!'.'!!
    Substr(Zeichdat, 1, 4)
    NEUDATUM Date(Zeichdat2)
    DIFF CURRENT-NEUDATUM

    Jetzt kann ich über DIFF die Daten miteinander vergleichen.

    Gruss Rolf

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Hallo Rolf,

    Bei Deiner Lösung musst Du folgendes beachten:
    Bei der Differenz (DIFF) handelt es sich um ein 8-stelliges numerisches Ergebnis.
    In Stelle 1-4 werden die Differenz-Jahre zurückgegeben,
    in Stelle 5-6 die Differenz-Monate in Stelle 7-8 die Differenz-Tage.

    Wenn Du gezielt die Differenz-Tage (also z.B. 45) ermitteln willst, müssen beide Datums-Felder über die Funktion DAYS in die rechnerische Anzahl Tage seit dem 01.01.0001 konvertiert und anschließend voneinander abgezogen werden.

    Weitere Informationen zur Datums- und Zeitrechnung mit Query/400 findest Du in den iNN - eNews:
    iNN - eNews 5/2004
    iNN - eNews 6/2004

    @Fuerchau:
    ISO-Format ist nicht unbedingt erforderlich!
    Jede gültige alphanumerische Datums-Aufbereitung mit einem 4-stelligen Jahr ist zulässig also:
    'JJJJ-MM-TT' = ISO
    'MM/TT/JJJJ' = USA
    'TT.MM.JJJJ' = EUR

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    ISO-Format ist für mich immer am sichersten, da dies unabhängig von diversen Jobeinstellungen immer funktioniert.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Datum in Query
    By heini in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 30-09-06, 10:10
  2. Query Manager -_-
    By Azubiiiiii in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 03-08-06, 09:44
  3. Datum überlebt ODBC Transfer auf Excel nicht
    By jjagi in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 07-07-06, 08:29
  4. Query und Datum
    By Hubert Brethauer in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 05-05-06, 12:37
  5. Datum aus numerischem Feld in Query
    By zmann in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 09-09-05, 15:22

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •