-
SQL TO_DATE(CHAR(CAST
Hallo
ich habe ein Problem mit folgender SQL Anweisung:
PHP-Code:
Select year(TO_DATE(CHAR(CAST(num80 AS DECIMAL(8,0))), 'YYYYMMDD')) as Jahr, month(TO_DATE(CHAR(CAST(num80 AS DECIMAL(8,0))), 'YYYYMMDD')) as Monat from bibliothkek.daten
führe ich diese Anweisung in IBM DataStudio oder SQuirrel läuft alles einwandfrei.
Lasse ich die Anweisung über den GreenSrcren oder als Embedded SQL im RPG laufen kommt es zu einem Fehler.
PHP-Code:
Token ( ungültig. Gültige Token: ) year(TO_DATE(CHAR(CAST(num80 AS DECIMAL(8,0))), 'YYYYMMDD')) as Jahr, month(TO_DATE(CHAR(CAST(num80 AS DECIMAL(8,0))), 'YYYYMMDD')) as Monat from bibliothkek.daten
es wird die dritte 5 Klammer direkt nach DECIMAL angemeckert.
year(TO_DATE(CHAR(CAST(num80 AS DECIMAL(8,0)))
Hat da jemand eine Erklärung oder eine besser Vorgehensweise wie man aus einem 8 Stellig nummerischem Feld, welches ein Datum enthält, Jahr, Monat und Tag extrahiert?
Bin für jede Antwort dankbar.
oulbrich
-
Grund ist das Dezimalkomma!
Mach ein Leerzeichen vor oder nach dem Komma da sonst der Wert als 8,0 und nicht als 2 Werte interpretiert wird.
Wobei mir der Cast als überflüssig erscheint.
-
Hat geklappt. Besten Dank. Die Cast Funktion brauche ich um aus dem Num80 Feld ein CHAR zu erstellen da die TO_DATE Funktion nur mit CHAR Daten funktioniert.
-
Wenn das Datum als numerisches Datum definiert ist, warum zunächst in eine Zeitmarke konvertieren, um dann daraus das Jahr zu ermitteln?
Hier einige einfachere Möglichkeiten (vorausgesetzt, das numerische Datum ist 8,0 definiert):
- Substr(Digits(Datum), 1, 4)
- Year(Digits(Datum) concat '000000')
- Int(Datum/10000)
- Left(Digits(Datum), 4)
Die letzten beiden Variante klappen nur für das Jahr.
Birgitta
-
Der CAST(NUM as DECIMAL...) ist Blödsinn, da ein CHAR(NUM) das selbe Ergebnis liefert wie ein CHAR(DEC).
DIGITS ist die Sonderform von CHAR und liefert nur die Zahlen, kein Vorzeichen, kein Dezimalkomma/-punkt und immer mit Vornullen, während CHAR eine "Zahlaufbereitung" vornimmt.
Similar Threads
-
By KingofKning in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 08-01-15, 19:13
-
By harbir in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 29-10-14, 02:29
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 05-05-14, 16:42
-
By Gimli in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 04-03-03, 15:20
-
By LGALF in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 05-07-01, 17:09
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks