Trabajo con valores NULL

Introducción a Oracle SQL

Hadrien Lacroix

Content Developer

¿Qué son los valores NULL?

  • Sin valor
  • No es lo mismo que 0
  • Las expresiones aritméticas con NULL dan NULL
    • NULL + 10 = NULL
  • Las funciones de agregación suelen ignorar NULL
    • COUNT no cuenta NULL en una columna
Introducción a Oracle SQL

¿Por qué nos importan los valores null?

Los datos reales no son perfectos.

  • Limpia los datos
  • Analiza los faltantes
Introducción a Oracle SQL

Probar si un valor es NULL

= no sirve para comprobar valores NULL

Usa en su lugar:

  • IS NULL
    SELECT * FROM Customer WHERE LastName IS NULL
    
  • IS NOT NULL
    SELECT * FROM Customer WHERE LastName IS NOT NULL
    
Introducción a Oracle SQL

NVL

NVL(x, y): convierte x, que puede ser nulo, en y, un valor no nulo.

SELECT NVL(HireDate, '11/19/2004')
FROM Employee
Introducción a Oracle SQL

NULLIF

NULLIF(x, y): Compara x y y, devuelve

  • NULL si x=y
  • x si no son iguales
SELECT c.CustomerId, i.BillingCity, c.City, NULLIF(i.BillingCity, c.City) 
FROM Invoice i, Customer c
| CustomerId | BillingCity | City      | NULLIF |
|------------|-------------|-----------|--------|
| 48         | Oslo        | Amsterdam | Oslo   |
| 49         | Boston      | Vienne    | Boston |
| 59         | London      | London    | NULL   |
Introducción a Oracle SQL

COALESCE

COALESCE: devuelve el primer valor no nulo de una lista

SELECT CustomerId, COALESCE(phone, email, fax) AS ContactMethod
FROM Customer
| CustomerId | ContactMethod           |
|------------|-------------------------|
| 59         | +91 080 22289999        |
| 58         | [email protected] |
| 57         | +56 (0)2 635 4444       |
Introducción a Oracle SQL

¡Vamos a practicar!

Introducción a Oracle SQL

Preparing Video For Download...