Site Info Site Info

If Dentro De Un Select Oracle

If Dentro De Un Select Oracle

¿Alguna vez te has preguntado cómo añadir lógica condicional dentro de una consulta SQL en Oracle? La respuesta está en entender cómo usar IF dentro de un SELECT. Aunque Oracle no tiene una sentencia IF directamente dentro de un SELECT como algunos otros sistemas, sí tiene alternativas muy poderosas.

La clave está en usar funciones como DECODE o la expresión CASE WHEN. DECODE compara un valor con múltiples valores posibles y retorna un resultado diferente para cada coincidencia. Por ejemplo:

SELECT DECODE(estado, 'Activo', 'Cliente Activo', 'Inactivo', 'Cliente Inactivo', 'Cliente Desconocido') AS Estado_Cliente FROM Clientes;

En este ejemplo, la columna `estado` se evalúa. Si es 'Activo', retorna 'Cliente Activo'. Si es 'Inactivo', retorna 'Cliente Inactivo'. Si no coincide con ninguno, retorna 'Cliente Desconocido'.

La expresión CASE WHEN es más flexible y permite condiciones más complejas. Aquí un ejemplo:

SQL : If statement in select (ORACLE) - YouTube
SQL : If statement in select (ORACLE) - YouTube
SELECT CASE
    WHEN edad >= 18 THEN 'Adulto'
    WHEN edad < 18 THEN 'Menor de Edad'
    ELSE 'Edad Desconocida'
  END AS Categoria_Edad
  FROM Usuarios;

Aquí, si la `edad` es mayor o igual a 18, retorna 'Adulto'. Si es menor a 18, retorna 'Menor de Edad'. En cualquier otro caso (por ejemplo, si la edad es NULL), retorna 'Edad Desconocida'.

Aplicaciones prácticas: Puedes usar estas técnicas para categorizar datos, aplicar descuentos basados en condiciones específicas, o transformar valores para mejorar la presentación de informes. Imagina calcular el impuesto basado en diferentes rangos de ingresos, o asignar niveles de riesgo a clientes según su historial de crédito. DECODE y CASE WHEN te permiten realizar estas tareas directamente en tus consultas SQL, simplificando la lógica en tu aplicación.

Gallery

Porque oracle no me devuelve todos los registros cuando hago un select
Visualizar registros de una tabla con SELECT en Oracle » MiguelTroyano.com
Oracle SQL SELECT Statement - TestingDocs.com
Select in Oracle | Know How To Use & Ways to Write Select Query in SQL
13/01/08Seminario de Bases de Datos1 Oracle y Java * * Tomado del curso
sql - ¿como hacer un SELECT de dos campos diferentes de una misma tabla
Jorge Sánchez. Manual de SQL (Oracle SQL). Subconsultas
Select in Oracle | Know How To Use & Ways to Write Select Query in SQL
Análisis y Programación: Procedimientos almacenados, INSERT SELECT