[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2012
    Beiträge
    360

    Datumsformat dd.mm.yy HH.mm

    Hallo liebes Forum,

    ich bekomme eine Datei, wo das Datumsfeld/Timestamp eine Alpha-Feld ist und so aussieht:
    "23.09.2012 05:45".

    Leider kann ich so nicht den Satz ermitteln der als letztes bearbeitet worden ist.

    Kann ich mit SQL dieses Alpha-Feld in das ein Format(Timestamp) wandeln wo ich nach Datum sortieren kann?

    Oder muss ich das in einem Rpg-Programm abhandeln?

    Dank im Voraus

    Tarki

  2. #2
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Wie wärs damit?

    PHP-Code:
    SELECT TIMESTAMP((SUBSTR(Feld110)),
                     (
    SUBSTR(Feld125))) AS DATETIME
                      FROM Bibliothek
    /Datei
                      ORDER BY DATETIME DESC 
    Siehe SQL TIMESTAMP

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Bei Release 6.1 oder höher
    Select Timestamp_Format(YourField, 'DD.MM.YYYY HH:MI')
    From ...
    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

  4. #4
    Registriert seit
    Apr 2012
    Beiträge
    360
    Hallo Frau Hauser,

    unser Releas ist höher aber ich bekomme die Fehlermeldung:
    Code:
                            Weitere Nachrichteninformationen                      
                                                                                  
     Nachrichten-ID . . . . :   CPF426B       Bewertung  . . . . . . :   50       
     Nachrichtenart . . . . :   Diagnose                                          
     Sendedatum . . . . . . :   14.02.21      Sendezeit  . . . . . . :   13:50:44 
                                                                                  
     Nachricht . . . :   Funktion TIMESTAMP_FORMAT kann nicht ausgeführt werden.  
     Ursache  . . . . :   Funktion TIMESTAMP_FORMAT kann nicht ausgeführt werden; 
       Ursachencode 13. Die Ursachencodes haben folgende Bedeutung:               
        13 -- Die Zeitmarke kann von der angegebenen Formatierzeichenfolge nicht interpretiert werden.
    Die Schablone vom Feld würde ja auch passen.
    Was mache ich da falsch?

    Grüße

    Tarki

  5. #5
    Registriert seit
    Apr 2012
    Beiträge
    360
    @Pikachu
    Funktioniert toll, danke vielmals.

    Tarki

  6. #6
    Registriert seit
    Apr 2012
    Beiträge
    360
    Hallo Pikachu,

    ich hätte da noch 2 Fragen:
    Ich erstelle mir ja in der QTEMP eine Workdatei.
    Mein Wunsch wäre das Feld F1 gleich mit einem Update-Statement richtig zu stellen, habe aber keinen ordentlichen Key.
    Mein Statement Funktioniert leider nicht:
    Code:
    UPDATE QTEMP/QFILE SET F1 = CONCAT(Substr(F1, 7, 4), Substr(F1,
    4, 2))Concat(Substr(F1, 1, 2)) Concat(Substr(F1, 12,              
    2))Concat(Substr(F1, 15, 2))
    Wie kann ich die RRN in das Statement einbauen?

    Die 2 Frage wäre wie ich dein SqlStatement in die das Update einbauen könnte. Leider ist ja das F1 Feld kürzer als der Timestamp.

    lg

    Tarki

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ein Timestamp ist ein eigener Feldtyp.
    Nach der Umwandlung in ein Timestamp kannst du daraus wieder teile extrahieren:

    substr(char(timestamp(.....)), 1, 10) concat ....

    Problem ist natürlich, dass der Timestampausdruck komplett zu wiederholen ist.

    Update myfile a set a.myrrn = rrn(a)

    Eine Anmerkung zum concat:
    "concat(a, b)" ist fom Ergebnis das selbe wie "a concat b".
    Nur erlaubt die Funktion "Concat" halt nur 2 Argumente.

    SQL hat aber einen integrierten Operator "concat":

    a concat b concat c .....

    Dies dürfte deine Schreibweise vereinfachen auch wenn das Ergebnis sich nicht ändert.
    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

  8. #8
    Registriert seit
    Apr 2012
    Beiträge
    360
    Hallo,

    Update myfile a set a.myrrn = rrn(a)

    Mir ist nicht klar der Ausdruck a.myrrn.
    Wie definiere ich das denn im Update?

    Danke

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Was willst du mit der rrn()?
    Wenn du in deiner Tabelle ein Feld MyRRN definierst, kannst du die rrn() mit meinem Beispiel dort speichern.
    Ansonsten ist die RRN() als Funktion eher unsinnig und nicht SQL-typisch.
    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. Sortieren durch ein Datumsformat
    By Newbie in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 04-07-02, 08:19

Berechtigungen

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