Funciones condicionales

Funciones condicionales

Descripción

Ejemplo

CASE WHEN

Formato CASE simple

Compara el valor de exp_entrada con los valores de los argumentos exp_valor para determinar el resultado

CASE exp_entrada
{WHEN exp_valor THEN resultado...} [ELSE resultado]
END
Copiar
SELECT 
   ID_Factura, 
   CASE Nombre_Empresa
      WHEN 'Exportaciones RU' THEN 'Exportaciones RU encontradas'
      WHEN 'Proveedores de mobiliario doméstico' THEN 'Proveedores de mobiliario doméstico encontrados'
      ELSE 'Ninguna exportación RU ni proveedores de mobiliario doméstico' 
      END,
   ID_Vendedor
FROM 
   Datos_ventas

Formato CASE buscado

Devuelve un resultado en función de si la condición especificada por una expresión WHEN es verdadera

CASE 
{WHEN >exp_booleana THEN resultado...} [ELSE resultado]
END
Copiar
SELECT 
   ID_Factura, 
   Cantidad,
   CASE 
      WHEN Cantidad > 3000 THEN 'Por encima de 3000'
      WHEN Cantidad < 1000 THEN 'Por debajo de 3000'
   ELSE 'Entre 1000 y 3000' 
   END,
   ID_Vendedor
FROM 
   Datos_ventas

COALESCE

Devuelve el primer valor que no es NULL

Copiar
SELECT
   ID_Vendedor,
   COALESCE(Gestor_Ventas, Vendedor)
FROM
   Vendedores

NULLIF

Compara dos valores y devuelve NULL si los dos valores son iguales; si no lo son, devuelve el primer valor

Copiar
SELECT
   ID_Factura,
   NULLIF(Cantidad,  -1),
   ID_Vendedor
FROM
   Datos_ventas