[NEWSboard IBMi Forum]

Thema: SQL - RIGHT

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    309

    SQL - RIGHT

    habe eine SQL-Anweisung von einem Kollegen bekommen, welche ich jetzt in ein SQLRPGLE einbauen soll!

    Wie bzw. mit was muß ich die Zeichen || ersetzten?

    PHP-Code:
    :
    :
    HAVING XYZ='1'||RIGHT(YEAR(current timestamp),2)||RIGHT('0'||MONTH(current timestamp),2)||RIGHT('0'||DAY(current timestamp),2

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    || entspricht concat.

    Aber warum so kompliziert?

    '1' concat substr(replace(char(current date, iso), '-', '') , 3, 6)
    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
    309
    wenn ich die Zeichen || (auf der AS400) durch concat ersetze, dann erhalte ich folgende Fehlermeldung

    Abfrage von PC-Seite mit einem SQL-Pgm. funktioniert aber mit concat

    Token ,2 ungültig. Gültige Token: ....

    PHP-Code:
    HAVING FKDTRI='1' concat RIGHT(YEAR(current timestamp),2concat RIGHT('0' concat MONTH(current timestamp),2concat RIGHT('0' concat DA
    Y
    (current timestamp),2

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Die Funktion RIGHT gibts erst ab V5R4.
    Nimm doch meinen Vorschlag.
    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

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    309
    sorry hatte ich übersehen!

    funkt prima.

    danke

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    309
    wenn ich jetzt das RPGLE laufen lasse, erhalte ich das Feld "Umsatz" immer mit dem Wert 0


    PHP-Code:
    D Umsatz          s             13  3

    c
    /exec sql                                                               
    C
    select sum(FKxxx)                                                    
    c+   into  :Umsatz                                                       
    C
    +   from myLib/myFile                                                  
    C
    +   where FKaaa and (not (int(FKaaa/100000) = 86 or               
    C+                              int(FKaaa/100000)=75)) and FK1=501    
    C
    +   group by FKDat                                                     
    C
    +   having FKDat='1' concat substr(replace(char(current dateiso),'-'
    C+   , '') , 36)
    c/end-exec                                 
                                               
    C     Ende          Tag                    
    C                   
    Eval      *InLR = *on 

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    309
    hat sich erledigt!

    hatte eine Leerstelle zuviel bei

    C+ having FKDat='1' concat substr(replace(char(current date, iso),'- '

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL und OBJLCK
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 19-09-06, 11:04
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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