NULL değerlerle çalışmak

Oracle SQL'ye Giriş

Hadrien Lacroix

Content Developer

NULL değerler nedir?

  • Değer yoktur
  • 0 ile aynı değildir
  • NULL içeren aritmetik ifadelerin sonucu NULL olur
    • NULL + 10 = NULL
  • Toplam fonksiyonlar genelde NULL değerleri yok sayar
    • COUNT bir sütundaki NULL değerleri saymaz
Oracle SQL'ye Giriş

Neden NULL değerleri önemseriz?

Gerçek dünya verisi kusursuz değildir.

  • Veriyi temizleyin
  • Eksik veriyi analiz edin
Oracle SQL'ye Giriş

Bir değerin NULL olup olmadığını test etme

= operatörü NULL için kullanılamaz

Bunun yerine şunları kullanın:

  • IS NULL
    SELECT * FROM Customer WHERE LastName IS NULL
    
  • IS NOT NULL
    SELECT * FROM Customer WHERE LastName IS NOT NULL
    
Oracle SQL'ye Giriş

NVL

NVL(x, y): NULL içerebilen x değerini NULL olmayan y ile değiştirir.

SELECT NVL(HireDate, '11/19/2004')
FROM Employee
Oracle SQL'ye Giriş

NULLIF

NULLIF(x, y): x ile y'yi karşılaştırır, şunları döndürür:

  • x=y ise NULL
  • Eşit değilse x
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   |
Oracle SQL'ye Giriş

COALESCE

COALESCE: listedeki ilk NULL olmayan değeri döndürür

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       |
Oracle SQL'ye Giriş

Hadi pratik yapalım!

Oracle SQL'ye Giriş

Preparing Video For Download...