Den närmaste analogin är SWITCH()
funktion t.ex.
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;
Observera att med SWITCH()
funktion måste du ange hela predikatet varje gång, så du är inte begränsad till att bara använda leverantör_id. För standardvärdet, använd ett predikat som är uppenbart för den mänskliga läsaren att det är SANT t.ex. 1 = 1
eller faktiskt helt enkelt TRUE
:)
Något som kanske inte är uppenbart är att logiken i SWITCH()
funktion kortsluter inte, vilket innebär att varje uttryck i funktionen måste kunna utvärderas utan fel. Om du behöver logik för att kortsluta måste du använda kapslade IIF()
funktioner.