[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2004
    Beiträge
    444

    SQL Datum in Integer konvertieren

    Hallo zusammen,

    kann mir jemand sagen wie ich ein Datum in eine numerischen Wert in SQL bekomme ?

    So habe ich es hinbekommen ->

    SELECT year(Datum) *10000
    + month(Datum)*100
    + day(Datum)
    from Datei

    aber geht das auch einfacher ?

    Vielen Dank

    Viele Grüße Harald

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Im prinzip nein, aber wie immer gibts mehrere Lösungen:

    dec(replace(char(Datum, iso), '-', ''), 8, 0)

    Vorraussetzung ist,
    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
    Dec 2003
    Beiträge
    106
    Wie wärs damit?

    select int(replace(char(curdate()), '.', '')) from datei

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Zitat Zitat von sim Beitrag anzeigen
    Wie wärs damit?

    select int(replace(char(curdate()), '.', '')) from datei
    Wird ein Datum mit CHAR konvertiert, sollte das Format, in dem das alphanumerische Datum aufbereitet werden soll angegeben werden (wie es Baldur gezeigt hat). Der Grund dafür liegt darin, dass basierend auf dem Datums-Format unterschiedliche Trennzeichen verwendet werden.

    Wird CHAR ohne Angabe des Formats verwendet, wird das Format und das Trennzeichen, das in der aktuellen SQL-Sitzung (in embedded SQL wird das Datumsformat, das im Compile-Befehl bzw. SET OPTION Anweisung angegeben wurde) verwendet wird. ... und das ist nicht immer *EUR (TT.MM.JJJJ).

    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
    Dec 2003
    Beiträge
    106
    Hallo Birgitta,

    das ist natürlich richtig.
    In einem Programm würde ich jedoch die SET OPTION der direkten
    Konvertierung im SQL vorziehen.

    sim

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Nicht überall steht SET OPTION zur Verfügung (QMQRY), deshalb sollte man sich auf sowas nicht verlassen.
    Ich persönlich ziehe das ISO-Format an allen Stellen vor, da dieses sicherer ist. Zumal EUR TT.MM.JJJJ und nicht JJJJ-MM-TT liefert, was insbesonders als Zahl besser zu verarbeiten ist.

    Für DSPF/PRTF oder andere Anzeigen kann man ja das EUR-Format dann gezielt einsetzen.
    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

  7. #7
    Registriert seit
    May 2004
    Beiträge
    444
    Vielen Dank für die Vorschläge

Similar Threads

  1. SQL Datum
    By steven_r in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 04-12-06, 12:16
  2. SQL: Aus mehreren Feldern ein Datum erkennen
    By I0N in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 21-11-06, 12:44
  3. SQL DATUM
    By steven_r in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 20-11-06, 18:37
  4. Befehl zum Konvertieren DDS in SQL
    By deni87991 in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 31-08-06, 12:05
  5. Aktuelles Datum per SQL
    By jakarto in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 17-02-06, 17:37

Berechtigungen

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