SQL DECODE und die passende Spalte in der Ergebnisliste
Hi@All,
Select funktioniert wenn ich ihn im SQL Developer als Statement(F9) ausführe.
Führe ich ihn allerdings als Script (F5) aus läßt er mir die letzte Spalte "Ausgesondertdatum" weg.
Die Spalte ist leer, und ich habe nun testweise mal 1 Datum gesetzt und schon nimmt er diese Spalte. Wo liegt hier der Hase begraben?
Gut als DEFAULT ist NULL angegeben, aber wieso dezimiert dann Oracle die Spalte gleich ganz weg und läßt die Felder im Ergebnis nicht einfach leer?
Jetzt schreibt er in die Ergebnisliste eine '1' und auf die kann ich prüfen, aber eigentlich würde ich die Liste die ich mit dem Select fülle einfach durchrennen und
die Felder ausgeben und nicht nochmal extra prüfen, ist ja ab einer bestimmten Länge auch eine Performancefrage.
VG
Select funktioniert wenn ich ihn im SQL Developer als Statement(F9) ausführe.
select AnlInventarZuo.INVENTARNUMMER, AnlInventarZuo.ABWBEZEICHNUNG, AnlInventarZuo.ABWSTANDORT,
DECODE(ANLINVZUSATZFELDER.FELD,990506,ANLINVZUSATZFELDER.WERTNUMERISCH,NULL) ANSCHAFFUNGSPREIS,
DECODE(ANLINVZUSATZFELDER.FELD,990505,to_char(ANLINVZUSATZFELDER.WERTDATUM,'dd.mm.yyyy'),NULL) ANSCHAFFUNGSDATUM,
DECODE(ANLINVZUSATZFELDER.FELD,990507,ANLINVZUSATZFELDER.WERTALPHA,NULL) BEMERKUNG,
DECODE(ANLINVZUSATZFELDER.FELD,340711,Adressen.NAME1,NULL) PARTNERNAME,
DECODE(ANLINVZUSATZFELDER.FELD,350525,to_char(ANLINVZUSATZFELDER.WERTDATUM,'dd.mm.yyyy'),NULL) GEWÄHRLEISTUNGSDATUM,
DECODE(ANLINVZUSATZFELDER.FELD,450725,to_char(ANLINVZUSATZFELDER.WERTDATUM,'dd.mm.yyyy'),NULL) AUSGESONDERTDATUM
from AnlInventarZuo, ANLINVZUSATZFELDER, Adressen
where AnlInventarZuo.abwstandort between '000' and '999'
AND AnlInventarZuo.Anlage=AnlInvZusatzfelder.Anlage(+)
AND AnlInventarZuo.Zuordnung=AnlInvZusatzfelder.ZUORDNUNG(+)
AND AnlInvZusatzfelder.WERTPARTNER=Adressen.Partner(+)
Order by AnlInventarZuo.ABWSTANDORT, AnlInventarZuo.INVENTARNUMMER;
Führe ich ihn allerdings als Script (F5) aus läßt er mir die letzte Spalte "Ausgesondertdatum" weg.
Die Spalte ist leer, und ich habe nun testweise mal 1 Datum gesetzt und schon nimmt er diese Spalte. Wo liegt hier der Hase begraben?
Gut als DEFAULT ist NULL angegeben, aber wieso dezimiert dann Oracle die Spalte gleich ganz weg und läßt die Felder im Ergebnis nicht einfach leer?
DECODE(ANLINVZUSATZFELDER.FELD,450725,to_char(ANLINVZUSATZFELDER.WERTDATUM,'dd.mm.yyyy'),to_char('1')) AUSGESONDERTDATUM
Jetzt schreibt er in die Ergebnisliste eine '1' und auf die kann ich prüfen, aber eigentlich würde ich die Liste die ich mit dem Select fülle einfach durchrennen und
die Felder ausgeben und nicht nochmal extra prüfen, ist ja ab einer bestimmten Länge auch eine Performancefrage.
VG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 165165
Url: https://administrator.de/forum/sql-decode-und-die-passende-spalte-in-der-ergebnisliste-165165.html
Ausgedruckt am: 16.04.2025 um 17:04 Uhr
1 Kommentar