I'm looking for a string function that works like Oracle's DECODE
Having table tab
with a single column col
col
----
a
b
c
d
With a simple query:
select decode(col,'a',1,'b',2',9) dec from tab
I'd expect result like this:
dec
---
1
2
9
9
I haven't found any build-in function in Language Manual. Is there any UDF that can simulate DECODE?
I don't want to use case
clause.
Regards
Pawel
You could write a nested
if
statement.Query:
Output:
It may be easier to read and to inspect if you avoid nesting by using a flat CASE WHEN THEN expression :