Decode ist eine einfache Funktion, in der man eine Expression beschreibt und dann fast beliebig viele Ersetzungen durchführen kann.
Leider werden die Expressions, Search und Result-Ketten aber manchmal zu komplex oder Decode mehrfach geschachtelt.
Einfacher ist es hier, direkt Case einzusetzen.
DECODE
Syntax: decode( expression , search , result [, search , result]… [, default] ) as label
select
decode(POSTLEITZAHL, 70599, ‘Stuttgart – Asemwald’, 70499, ‘Stuttgart – Bergheim’, ‘UNBEKANNT’) from ADRESSE;
CASE – Funktion, längere Schreibweise, – aber flexibler
Syntax: case when expression then result
when expression then result
when expression then result
else default
end as label
Beispiel in einer Geräteliste
select
case
when substr(name, -2)=’RH‘ then ‚Router‘
when device_id between 1015544 and 1015600 then ‚MURXS‘
else ’sonstiges‘
end as Zusatz
, e.* from my_cmdb_devices e;
Schreibe einen Kommentar
Du musst angemeldet sein, um einen Kommentar abzugeben.