Den nærmeste analogi er SWITCH()
funktion f.eks.
Oracle:
SELECT supplier_name,
decode(supplier_id, 10000, 'IBM',
10001, 'Microsoft',
10002, 'Hewlett Packard',
'Gateway') result
FROM suppliers;
Access Database Engine
SELECT supplier_name,
SWITCH(supplier_id = 10000, 'IBM',
supplier_id = 10001, 'Microsoft',
supplier_id = 10002, 'Hewlett Packard',
TRUE, 'Gateway') AS result
FROM suppliers;
Bemærk, at med SWITCH()
funktion skal du angive det fulde prædikat hver gang, så du er ikke begrænset til kun at bruge leverandør_id. For standardværdien skal du bruge et prædikat, der er indlysende for den menneskelige læser, at det er SAND, f.eks. 1 = 1
eller faktisk bare TRUE
:)
Noget, der måske ikke er indlysende, er, at logikken i SWITCH()
funktion kortslutter ikke, hvilket betyder at hvert udtryk i funktionen skal kunne evalueres uden fejl. Hvis du kræver logik for at kortslutte, skal du bruge indlejret IIF()
funktioner.