A continuacion les muestro unos ejemplos de la funcion decode en Oracle.
*Las columnas pueden ser tantos campos estaticos como campos de alguna columna de una tabla.
1 Columna = Valor a evalular
2 Columna = Valor con el que se compara la columna uno
3 Columna = Si el valor de la columna dos es igual al valor de la columna uno entonces se muestra este valor
4 Columna = Si el valor de la columna dos no es igual al valor de la columna uno entonces se muestra este valor
1: select decode('Probando Codigo', 'Probando Codigo', 'www.probandocodigo.com', 'www.whibla.com') Pagina from dual
Ejemplo con mas condiciones
1 Columna = Valor a evalular
2 Columna = Valor con el que se compara la columna uno
3 Columna = Si el valor de la columna dos es igual al valor de la columna uno entonces se muestra este valor
4 Columna = Valor con el se compara la columna 1
5 Columna = Si la la columna 1 es igual a la columna 4 entonces se muestra este valor
6 Columna = Valor si no se cumplio la condicion de la columna 1 = columna 2 o la columna1 = Columna 4
1: select decode('Blog', 'Blog', 'www.probandocodigo.com', 'Foro','www.whibla.com','Pagina Default') Pagina from dual
Como pueden observar, el decode seria muy similar a lo que es el Switch en java o el Case en .Net, una funcion muy importante
y que nos sacara de distintos problemas en distintas etapas en nuestra vida de programador.
Ya en casos donde se requieran mas alternativas entonces se debe usar el Case.