SQL Script
Unbekannter Befehl
Ich habe dieses SQL Script:
select T1."FEGGNB" as c1,
T1."FEABBJ" as c2,
T1."FEGHNB" as c3,
T2."DHDCCD" as c4,
T2."DHCVNB" as c5,
T2."DHA3CD" as c6,
T2."DHAPTX" as c7,
T3."DDARQT" as c8,
T3."DDDUVA" as c9,
T3."DDAAGQ" as c10,
T3."DDAITX" as c11,
T3."DDG6CD" as c12,
'20' || (substring((cast_numberToString(cast_integer(T1."FEGHNB"))) from 2 for 6)) as c13 from "ABC620"."AMFLIBX"."MBF9REP" T1,
"ABC620"."AMFLIBX"."MBDHREP" T2,
"ABC620"."AMFLIBX"."MBDDREP" T3
where (((T1."FEGGNB" = T2."DHGGNB") and (T1."FEHYNB" = T2."DHHYNB")) and (T1."FEABBJ" = T2."DHCANB"))
and ((((T2."DHAENB" = T3."DDAENB") and (T2."DHDCCD" = T3."DDDCCD"))
and (T2."DHCVNB" = T3."DDCVNB")) and (T2."DHK4NB" = T3."DDK4NB"))
and ((T1."FEGHNB" >= 1040101) and (T1."FEGHNB" <= 1300101))
Aber ich verstehe diesen Befehl nicht:
'20' || (substring((cast_numberToString(cast_integer(T1."FEGHNB"))) from 2 for 6)) as c13 from "ABC620"."AMFLIBX"."MBF9REP" T1
Ist es vielleicht wenn 20 in T1 steht oder wenn dieser Befehl--->(substring((cast_numberToString(cast_integer(T1."FEGHNB"))) from 2 for 6)), na diesen Befehl verstehe ich ganz und gar nicht...
Was bedeutet denn der ganze Befehl überhaupt?
Danke für die Hilfe
Gruß Julia
Ich habe dieses SQL Script:
select T1."FEGGNB" as c1,
T1."FEABBJ" as c2,
T1."FEGHNB" as c3,
T2."DHDCCD" as c4,
T2."DHCVNB" as c5,
T2."DHA3CD" as c6,
T2."DHAPTX" as c7,
T3."DDARQT" as c8,
T3."DDDUVA" as c9,
T3."DDAAGQ" as c10,
T3."DDAITX" as c11,
T3."DDG6CD" as c12,
'20' || (substring((cast_numberToString(cast_integer(T1."FEGHNB"))) from 2 for 6)) as c13 from "ABC620"."AMFLIBX"."MBF9REP" T1,
"ABC620"."AMFLIBX"."MBDHREP" T2,
"ABC620"."AMFLIBX"."MBDDREP" T3
where (((T1."FEGGNB" = T2."DHGGNB") and (T1."FEHYNB" = T2."DHHYNB")) and (T1."FEABBJ" = T2."DHCANB"))
and ((((T2."DHAENB" = T3."DDAENB") and (T2."DHDCCD" = T3."DDDCCD"))
and (T2."DHCVNB" = T3."DDCVNB")) and (T2."DHK4NB" = T3."DDK4NB"))
and ((T1."FEGHNB" >= 1040101) and (T1."FEGHNB" <= 1300101))
Aber ich verstehe diesen Befehl nicht:
'20' || (substring((cast_numberToString(cast_integer(T1."FEGHNB"))) from 2 for 6)) as c13 from "ABC620"."AMFLIBX"."MBF9REP" T1
Ist es vielleicht wenn 20 in T1 steht oder wenn dieser Befehl--->(substring((cast_numberToString(cast_integer(T1."FEGHNB"))) from 2 for 6)), na diesen Befehl verstehe ich ganz und gar nicht...
Was bedeutet denn der ganze Befehl überhaupt?
Danke für die Hilfe
Gruß Julia
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 54797
Url: https://administrator.de/forum/sql-script-54797.html
Ausgedruckt am: 11.07.2025 um 03:07 Uhr
6 Kommentare
Neuester Kommentar
Aber ich verstehe diesen Befehl nicht:
'20' || (substring((cast_numberToString(cast_integer(T1."FEGHNB"))) from 2 for 6)) as C13
'20' || (substring((cast_numberToString(cast_integer(T1."FEGHNB"))) from 2 for 6)) as C13
Also ohne das ich jetzt wüsste was das für ein SQL-Dialekt ist , würd ich aus dem Bauch raus sagen, der Befehl macht folgendes:
1. Aus T1."FEGHNB" erst einen Integer, und aus dem dann einen String
2. Aus dem Ergebnis von 1. werden ab Stelle 2 6 zeichen ausgeschnitten
3. Der String '20' wird vor das Ergebnis aus 2. geklebt.
4. Und das ganze bekommt dann den Alias C13.
Danke für deine Antwort, Praktikantin,
eine Richtigstellung noch:
Das "||" ist ein String-Verkettungsoperator.
Das heißt der Teil "...... '20' || (substring (bla...) " bedeutet, dass '20' und der Substring(bla..) einen neuen String ergeben.
Also z.B. Inhalt von Feld T1.FEGHNB wäre der
- CHAR-Wert "1234567" oder ein
- LONG-Wert 1234567 oder der
- Dez(18,3)-Wert 1234567,094
... dann würde mit...
---> '20' und Substring('1234567') from 2 to 6 as c13
--->== '20' || '23456' als Resultsetfeld "c13" bereitsgestellt
---> also Feldinhalt von "c13" wäre '2023456'
Gruss
Biber
eine Richtigstellung noch:
Das "||" dachte ich ist ein OR.
Mitnichten.Das "||" ist ein String-Verkettungsoperator.
Das heißt der Teil "...... '20' || (substring (bla...) " bedeutet, dass '20' und der Substring(bla..) einen neuen String ergeben.
Also z.B. Inhalt von Feld T1.FEGHNB wäre der
- CHAR-Wert "1234567" oder ein
- LONG-Wert 1234567 oder der
- Dez(18,3)-Wert 1234567,094
... dann würde mit...
'20' || (substring((cast_numberToString(cast_integer(T1."FEGHNB"))) from 2 for 6)) as c13
insgesamt der String---> '20' und Substring('1234567') from 2 to 6 as c13
--->== '20' || '23456' als Resultsetfeld "c13" bereitsgestellt
---> also Feldinhalt von "c13" wäre '2023456'
Gruss
Biber