[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das Format der SUBSTR(Name, Pos, Länge) ist schon richtig. Aber betrachte mal die Syntax genau. Das Problem ist das Komma !
    Wenn du das Dezimalkomma als Dezimalzeichen hast (default), muss eine ganze Zahl eindeutig von einer Kommazahl unterscheidbar sein, deshalb sind da Leerzeichen relevant !
    Also: "substr(name,1_,3)" !
    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

  2. #2
    Registriert seit
    Mar 2005
    Beiträge
    3

    Smile Es funzt!!!!

    Hallo!

    Es hat geklappt! Super. Aber das es doch an so einer Kleinigkeit liegt, dass hätte ich nicht gedacht. Das Problem ist, dass ich klassischerweise bei VB Kommazahlen mit dem Punkt eingeben muss.

    Vielen Dank!!!

    Gruß

    Michael

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    VB arbeitet im Code auch mit der englischen Schreibweise.
    Um z.B. Zahlen in Strings zu verwandeln gibts mehrere Methoden:

    dim xStr as string
    dim xVal as double

    xStr=xVal
    xStr=cstr(xVal)
    xstr=format(xVal, "#,##0.00")

    Beim Format ist auffällig, dass ein Dezimalpunkt verwendet wird, die Ausgabe ist aber abhängig von der Spracheinstellung in Windows !

    Umgekehrt aus einem String einen Wert zu bekommen muss man allerdings folgendes beachten:

    xVal=val(xStr)

    Die Funktion VAL() interpretiert verschieden Varianten, u.a. auch Hexstrings. Beim Dezimalwert allerdings gilt das englische Format ! D.h., Komma werden ignoriert, Punkt gilt als Dezimalpunkt.

    xVal=cdbl(xStr)

    Diese Funktion interpretiert wiederum in Abhängigkeit von der Windowseinstellung !

    Es ist vor allen Dingen wichtig, wenn man multinationale Software entwickelt, dass man cdbl() verwendet. Allerdings muss die Software wissen, woher die Daten kommen, ob sie einen Punkt oder ein Komma verwenden !

    Beim SQL ist wiederum die ODBC-Einstellung wichtig (allerdings nicht jeder Treiber unterstützt dies). Dies gilt genauso auch für SQLRPG/LE, hier gibts über die SET OPTION DECFMT=*COMMA/*POINT (oder so ähnlich) die Möglichkeit der Auswahl. Dies hat NICHTS mit der H-Bestimmung zu tun !!!
    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.928
    Zitat Zitat von Fuerchau
    Dies gilt genauso auch für SQLRPG/LE, hier gibts über die SET OPTION DECFMT=*COMMA/*POINT (oder so ähnlich) die Möglichkeit der Auswahl. Dies hat NICHTS mit der H-Bestimmung zu tun !!!
    SET OPTION DECFMT hat nur Einfluss darauf, wie das Trennzeichen in Zahlen mit Dezimal-Stellen aufbereitet werden. Und entspricht damit den H-Bestimmungen, nur für die SQL-Statements.

    Im Quell-Code selber, können sowohl Komma als auch Punkt als Dezimal-Trennzeichen verwendet werden. Die gilt sowohl für den RPG als auch für den SQL Quell-Code. Deshalb ist es unbedingt notwendig, nach dem Komma in einer Scalaren Funktion jeweils mindestens 1 Leerzeichen zu lassen.

    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

Similar Threads

  1. MS Access ODBC mit JOIN: SQL FEHLER666
    By olafu in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-10-06, 08:13
  2. Problem ODBC und VB.NET
    By Marsman in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 11-07-06, 10:50
  3. problem mit eigener sql function
    By Stefan_Sk in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 26-05-06, 16:37
  4. SQL Problem
    By Lucky4712 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-05-06, 15:57
  5. embedded SQL Performance Problem mit SCROLL
    By itec01 in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 16-09-04, 18:38

Berechtigungen

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