[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Nov 2012
    Beiträge
    47

    Zeitstempel mit CHAR-Feld vergleichen

    Hallo,

    ich möchte alle Datensätze selektieren, die ab einem bestimmten Zeitstempel neu in eine Datei geschrieben wurden.

    In der Datei existiert ein Feld TS1 mit CHAR(14), das Datum und Uhrzeit im Format YYYYMMDDHHMMSS enthält.

    Wie kann ich das jetzt am einfachsten mit meinem Zeitstempel vergleichen?

    Definition des Zeitstempels:
    D xtime_vergl s z inz(*sys)

    Wahrscheinlich ganz einfach, doch ich steh grad auf dem Schlauch....

    Gruß
    harbir

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    %timestamp(TS1:*ISO0) müsste eigentlich ein Timestamp liefern mit dem du dann vergleichen kannst.
    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
    Nov 2012
    Beiträge
    47
    danke,
    und wie würde ich den Timestamp xtime_vergl umwandeln müssen, um ein cahr(14)-Feld zu bekommen?

  4. #4
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Ich denke, du muss den String mittels subst in seine Segmente zerlegen und im ISO-Timestamp-Format wieder zusammensetzen. Dann mit der Funktion %timestamp zu einem echten Timestamp machen:

    string = ’1960-09-29-12.34.56.000000’; // So was muss du erzeugen
    timest = %timestamp(string); // Dann in echten Timestamp umwandeln.

    Dieter

  5. #5
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Ach so, wenn du das sorum machen willst, müsste folgendes gehen:

    %subst(%char(xtime_vergl):1:14)

  6. #6
    Registriert seit
    Nov 2012
    Beiträge
    47
    danke @all

    werd ich jetzt gleich mal testen

  7. #7
    Registriert seit
    Nov 2003
    Beiträge
    2.304
    Probier mal so:

    PHP-Code:
    D XTIME_VERGL     S               Z   INZ(*SYS)      
    D                                                    
    D ZEITPUNKT       DS                                 
    D ZEITPUNKT14                   14A   INZ            
    D ZEITPUNKTREST                  6A   INZ            
    D                                                    
    C     
    *ISO0         MOVEL     XTIME_VERGL   ZEITPUNKT 

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Ein Timestamp ist CHAR(22) incl. Trennzeichen.

    %subst(%char(xtime_vergl:*ISO0):1:14)
    könnte klappen.
    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

  9. #9
    Registriert seit
    Nov 2003
    Beiträge
    2.304
    Meine Zeitmarken hier sind 26 mit und 20 ohne Trennzeichen ...

    Zitat Zitat von Fuerchau Beitrag anzeigen
    Ein Timestamp ist CHAR(22) incl. Trennzeichen.

  10. #10
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    Weiterer Vorschlag: Die Vergleichszeitmarke mit der SQL-Funktion VARCHAR_FORMAT (ab Release 6.1) konvertieren:

    Code:
    Exec SQL Set :CharTS = VarChar_Format(Current_Timestamp, 'YYYYMMDDHH24MISS');
    Meine Zeitmarken sind übrigens auch 14 (ohne Trennzeichen und Nachkommastellen), 20 und 26 (mit Trennzeichen und Nachkommastellen).

    Die CHAR(22) Definition wird nur für Zeitmarken-Differenzen in konvertiertem numerischem Format mit Trennzeichen und +/- Zeichen verwendet.

    Birgitta
    Birgitta Hauser

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

Similar Threads

  1. Vergleichen Feldinhalte von qualifizierten Datenstrukturen
    By it-dol in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 24-07-14, 14:05
  2. RDi 9.0: Teildateien vergleichen / merge
    By camouflage in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 22-07-14, 13:10
  3. Artikel: Ein Zeitstempel für FTP-Übertragungsprotokolle
    By NEWSolutions Redaktion in forum NEWSolutions artikel
    Antworten: 0
    Letzter Beitrag: 05-12-13, 06:55
  4. %char ??
    By Gimli in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 04-03-03, 16:20
  5. Char-Feld 4-stellig, per SQL nur 1. Stelle ändern
    By LGALF in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 05-07-01, 18:09

Berechtigungen

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