[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2006
    Beiträge
    2.114

    SQL Formatierung die II

    Hallo *all,

    ich bin auch gerade bei einem Formatierungsproblem.

    Ich möchte eine Zahl immer mit 8 Vorkommastellen und 2 Nachkommastellen als char haben.

    Ich dachte machst Du das

    Right('0000000000' concat char(Dec(CSRC1.ist, 8, 2)), 10)) dann wäre ich da.
    Bei der Zahl 1835 hätte ich dann 00001835,00 erwartet. Bekomme tue ich aber 1835,00.

    Für mich stellt sich der Vorgang doch als

    '0000000000' + '1835,00' und davon die rechten 10 Stellen da.
    Wieso unterdrückt er die Nullen bei einer Stringoperation?

    Ich denke die Funktion digist bringt mich hier auch nicht weiter oder?

    GG

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    CHAR(dezimal) berechnet die max. Ausprägung, du erhältst also Leerzeichen am Ende:

    trim(char(dezimal))
    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
    Aug 2001
    Beiträge
    2.928
    Einfachder ist, wenn Du statt CHAR VARCHAR verwendest.
    CHAR heißt fixe Länge, VARCHAR heißt variable Länge!
    So hatte ich es auch in meinem Beispiel von vor ein paar Tagen angegeben!

    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

  4. #4
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Zitat Zitat von B.Hauser Beitrag anzeigen
    Einfachder ist, wenn Du statt CHAR VARCHAR verwendest.
    CHAR heißt fixe Länge, VARCHAR heißt variable Länge!
    So hatte ich es auch in meinem Beispiel von vor ein paar Tagen angegeben!

    Birgitta
    Ich weis, wie Du in den ersten Beispielen sehen kannst hatte ich am Anfang auch mit varchar gearbeitet stieß dann aber auf den Fehler, bin auf char umgestiegen, was den Fehler aber nicht beseitigte. Erst Dein Hinweis mit dem trim(work) brachte mich wieder vorwärts.

    Auch das "CHAR(dezimal) berechnet die max. Ausprägung, du erhältst also Leerzeichen am Ende:" war mir so nicht bewußt und hätte die Leerzeichen am Anfang erwartet.

    Da ich mir aber alle Fehler und Korrekturen im privaten Wiki notiere, kannst Du die Hoffnung haben das ich irgendwann auch mal intelligente Fragen stelle ;-)

    Danke für die Hinweise.

    GG

Similar Threads

  1. SQL - Formatierung und Datenonvertierung
    By nico1964 in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 27-05-14, 11:17
  2. Frage zur Formatierung mit Funktion DIGITS in QRY
    By hs in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 14-02-02, 06:30

Berechtigungen

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