[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Mar 2010
    Beiträge
    54

    SQL Frage Uhrzeit aus Decimal Feld

    Hallo zusammen,

    kann ich aus einem Decimal-Feld wie ich es vom Datum her kenne, die Uhrzeit im Format


    HH:MM ermitteln ?

    also aus 2307 --> 23:07


    Danke
    Franz

  2. #2
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Mir fällt nur die Umwandlung in CHAR und dann convertierung in TIME ein.
    Musst nur auf die führenden nullen achten.

    Right('00' || uhrzeit, 4) --> liefert dir die Zahl mit führenden nullen.

    lg Andreas

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Eine "Formatierung" in SQL gibt es so nicht.
    Du kannst ein Time-Feld per cast erstellen, das hatten wir hier schon.
    Ansonsten per Concat, Digits (statt CHAR) und Substr kannst du das Feld formatieren.
    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

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.875
    Was willst Du denn genau?
    Ein 4-stelliges numerisches Feld in eine echte Zeit konvertieren oder nur eine alphanumerische Darstellung im Format HH:MM?

    Den ersten Fall kann man wie folgt lösen:
    Code:
    Time('00010101' concat Digits(Dec(DatNum, 4, 0)) concat '00')
    Den zweiten Fall kann man wie folgt lösen:
    Code:
    VarChar_Format('00010101' concat Digits(Dec(DatNum, 4, 0)) concat '00', 'HH24:MI')
    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

  5. #5
    Registriert seit
    Mar 2010
    Beiträge
    54
    Vielen Dank an alle - komme so weiter !

    Gruss
    Franz

  6. #6
    Registriert seit
    Mar 2010
    Beiträge
    54
    Hallo Birgitta,

    doch noch eine Frage hier : wie wäre der Synthax für ein 6-stelliges numerisches Feld ? Die Zeit wird hier als 215000 also 21:50:00 abgelegt.

    gruss
    Franz



    Time('00010101' concat Digits(Dec(DatNum, 4, 0)) concat '00')

  7. #7
    Registriert seit
    May 2002
    Beiträge
    1.121
    Ich würde mal auf
    Time('00010101' concat Digits(Dec(DatNum, 6, 0)))
    tippen.
    Ohne es jetzt probiert zu haben

    Gruß
    Ronald

  8. #8
    Registriert seit
    Mar 2010
    Beiträge
    54
    Hallo,

    leider nein - hier kommen nur 8 Sterchnen .


    Anfangszeit TIME

    ANZT
    22:00:00 ++++++++


    Gruss
    Franz

  9. #9
    Registriert seit
    May 2002
    Beiträge
    1.121
    Time('00010101' concat Digits(DatNum))

    sollte aber gehen

  10. #10
    Registriert seit
    Aug 2001
    Beiträge
    2.875
    1. Auf welchem Release bist Du denn?
    2. Was siehst Du wenn du den TIME außenherum weglässt?
    Einen 14-stelligen alphanumerischen Wert im Format '00010101HHMMSS'?

    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

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Wenn du in STRSQL bist, dann stelle mal das Datumformat auf *ISO um (F13!).
    Per Default zeigt STRSQL nur ein Datum zwischen 1.1.1940 und 31.12.2039 korrekt dar, den Rest mit '+++'.
    Das mit dem Release nichts zu tun, das passiert so schon seit V3R2 oder sogar früher.
    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

  12. #12
    Registriert seit
    Aug 2001
    Beiträge
    2.875
    Das Datums-Format hat weder mit der Zeit, noch mit der Zeitmarke (um diese geht es hier!) etwas zu tun.
    Beide werden in jedem Format korrekt angezeigt.

    Mit dem Release kann es insofern etwas zu tun haben, da in unterschiedlichen Releases die numerischen Felder unterschiedlich gehandelt werden (Decimal oder Integer).

    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. SQl-Frage --> Uhrzeit
    By Franz.Rung in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 07-05-15, 13:10
  2. SQL Probleme numerischen Werten - decimal
    By itec01 in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 07-08-14, 14:29
  3. SQL Frage Datum Uhrzeit.
    By Miles in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 14-07-14, 08:47
  4. SQL Convert Date to Decimal
    By TheDevil in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 27-03-14, 13:34
  5. Query und Feld mit TIMESTAMP oder aktuelle Uhrzeit / Datum
    By Franz.Rung in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 04-11-13, 16:54

Berechtigungen

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