[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Jun 2014
    Beiträge
    25
    CREATE FUNCTION C84F.NUMTODATE(inputDecimal DECIMAL(8))
    RETURNS CHAR
    LANGUAGE SQL
    Return CHAR (date(char(inputDecimal * 1000000)), EUR);


    so klappt es auch nicht, selbe Fehlermeldung

    Gruß
    PFR

  2. #14
    Registriert seit
    Aug 2001
    Beiträge
    2.877
    Sehe ich das richtig, Du willst keine alphanumerische Darstellung eines Datums, sondern ein echtes Datum!
    Wenn ja, so geht die einfachste Konvertierung aus einem numerischen Datum in ein echtes Datum wie folgt:

    Code:
    Date(Digits(YourNumDate) concat '000000')
    Ansonsten solltest Du wirklich entweder einen Kurs besuchen, oder was natürlich viel schwieriger ist, Dir die SQL Referenz und diverse SQL Redbooks reinziehen.

    Die aktuelle SQL Referenz findest Du hier:
    Database DB2 for i SQL Reference

    Für Stored Procedures Triggers und User Defined Functions ist das folgende Redbook zu empfehlen:
    Stored Procedures, Triggers, and User-Defined Functions on DB2 Universal Database for iSeries

    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

  3. #15
    Registriert seit
    Jun 2014
    Beiträge
    25
    Guten Morgen zusammen,

    erst mal Vielen Dank für euren fleißigen Support.

    Mit folgendem Code habe ich meine Konvertierung des Datums YYYYMMDD -> DD.MM.YYYY in einer Funktion hinbekommen:

    CREATE FUNCTION C84F.CONVDATE
    (D_YMD DECIMAL(8,0))
    RETURNS DATE
    LANGUAGE SQL
    BEGIN
    DECLARE OUTPUT DATE;
    SET OUTPUT = CHAR(DATE(
    CHAR(D_YMD * 1000000)), EUR);
    RETURN OUTPUT;
    END

    Ich werde mich durch die Referenzbücher von IBM Database DB2 for i SQL Reference erst mal durcharbeiten.

    Gruß
    PFR

  4. #16
    Registriert seit
    Feb 2001
    Beiträge
    20.248
    Du kannst sogar ohne Hilfsvariable verkürzen:
    RETURN CHAR(DATE(CHAR(D_YMD * 1000000)), EUR);
    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. #17
    Registriert seit
    Jun 2014
    Beiträge
    25
    danke für den Hinweis Fuerchau,
    ist es auch möglich eine SQL Funktion innerhalb ein AS400 Querys zu nutzen (WRKQRY)?

    Gruß
    PFR

  6. #18
    Registriert seit
    Aug 2001
    Beiträge
    2.877
    Nein! Query ist kein SQL!
    Das einzige was Du machen kannst, ist die UDF in einer View zu verwenden und diese View dann wieder im Query einzubinden.

    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. Antworten: 2
    Letzter Beitrag: 02-05-14, 08:42
  2. 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
  3. Datum berechnen mit CL
    By j.k. in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 15-11-10, 16:31
  4. SQL - Datum (8,0) drehen und abfragen
    By Peter Kosel in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 02-05-03, 13:33
  5. Datum + 10 Tage in RPG
    By HoScHiE in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 06-08-01, 14:47

Berechtigungen

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