Anmelden

View Full Version : Mal wieder Datum in View



KingofKning
22-08-12, 11:47
Hallo *all,

ich habe in einer Datei ein 6 stelliges Datumsfeld. Leider muß ich das in ein 8stelliges umwandeln und dachte mach es so:

create view aruba_msvc/rekla as SELECT
ALL T01.RKKDT1,
T01.RKFA, t01.RKANR,
date('20' concat Substr(Digits(t01.rkkdt1), 1, 2)
concat '-'
concat Substr(Digits(t01.rkkdt1), 2, 2)
concat '-'
concat Substr(Digits(t01.rkkdt1), 4, 2))
FROM rkl01pf T01,
TST01PF T02,
adr01pf t03
WHERE rkFA = TEFA
AND rkTENR = TETENR
and tests = 0
and adfa = rkfa
and adsts = 0
and adkto = rkkto
AND( rkFA = 1
AND rkkdt1 >= 120100
and rkkdt1 < 160000)

Aber leider denkt die Kiste anders.

in rkkdat1 steht z.B. 120820 drin es es soll 20120820 werden sprich Format YYYYMMDD

Habe einige Felder der Übersicht wegen gelöscht.

Wie muß die Syntax denn richtig lauten.
Für Hinweise dankbar

GG

Pikachu
22-08-12, 11:59
Muß das nicht 3, 2 heißen?


concat Substr(Digits(t01.rkkdt1), 2, 2)

Fuerchau
22-08-12, 12:48
Die Syntax ist richtig, aber die Positionen im substr sind falsch:

JJ = 1
MM = 3
TT = 5

KingofKning
22-08-12, 12:49
Er sagt mir aber:
Weitere Nachrichteninformationen

Nachrichten-ID . . . . : SQL0153 Bewertung . . . . . . : 30
Nachrichtenart . . . . : Diagnose

Nachricht . . . : Spaltenliste erforderlich.
Ursache . . . . : Es muss eine Spaltenliste angegeben werden, da die
Ergebnisspalten nicht benannt sind. Dies kann eine der folgenden Ursachen
haben:
-- Ein Element der SELECT-Liste ist keine Spalte und die Klausel AS ist
nicht angegeben.
-- Übereinstimmende Spalten der Unterauswahlen in einer UNION, EXCEPT oder
INTERSECT haben nicht den gleichen Namen.
-- Zwei Ergebnisspalten haben denselben Spaltennamen. Jeder Spaltenname
und Systemspaltenname in der Definition einer Tabelle oder Sicht muss
eindeutig sein. Stimmen zwei Spaltennamen überein, ist der Spaltenname *N.
Fehlerbeseitigung: Einen der folgenden Schritte durchführen und die
Anforderung wiederholen:

Fuerchau
22-08-12, 12:57
Nach dem Ausdruck fehlt noch die Zuweisung eines Names:

Ausdruck [as] NewName

Dann können alle namen automatisch erkannt werden. Die Alternative ist eine Umbenennung (mit mehr Tiparbeit):

create view myview (Name1, Name2, ...)
as select ....

Pikachu
22-08-12, 13:21
Fehlerbeseitigung: Einen der folgenden Schritte durchführen und die
Anforderung wiederholen:
...
-- Eine Liste der Namen für die Spalten in der Tabelle, Sicht oder abgeleiteten Tabelle zur Verfügung stellen.
-- Eine Klausel AS angeben, um den unbenannten Elementen einen eindeutigen Namen zuzuordnen oder die doppelten Spaltennamen in der SELECT-Liste umzubenennen.