Genel işlevler herhangi bir veri türüyle çalışır ve çoğunlukla boş değerleri işlemek için kullanılır. Oracle genel işlevleri şunlardır:
- NVL
- NVL2
- NULLIF
- COALESCE
- CASE
- DECODE
NVL: NVL işlevi, girdi olarak iki bağımsız değişken alır. İlk argüman NULL ise, ikinci argümanı döndürür, aksi halde ilk argümanı döndürür.
Örnek: İlk değer 10 olduğu için bu değeri döndürüyor.
1 2 3 | SELECT NVL(10,2) FROM DUAL; |

Örnek: İlk değer NULL olduğu için ikinci değeri döndürüyor.
1 2 3 | SELECT NVL(NULL,'Oracle') FROM DUAL; |
Örnek: İlk değer null olduğu için ikinci argümanı döndürüyor.
1 2 3 | SELECT NVL(NULL,NULL) FROM DUAL; |
Örnek: Öğrenci tablosunda sınıfı NULL olan öğrencilerin sınıfına SINIFI YOK yazdırarak getiren sorguyu yazın.
1 2 3 | SELECT ograd, ogrsoyad, NVL(sinif,'SINIFI YOK') FROM ogrenci; |

NVL2 işlevi, girdisi olarak üç bağımsız değişken alır. İfade1 NULL DEĞİLSE, ifade2’yi döndürür, İfade1 NULL ise, ifade3’ü döndürür.
Örnek:
1 2 3 | SELECT NVL2('Oracle','Birinci İfade','İkinci İfade') FROM DUAL; |

Örnek:
1 2 3 | SELECT NVL2(NULL,'Birinci İfade','İkinci İfade') FROM DUAL; |

Örnek:
1 2 3 | SELECT ograd,ogrsoyad, NVL2(SINIF,'SINIF VAR','SINIF YOK') as SINIF_DURUM FROM ogrenci |

NULLIF işlevi iki ifadeyi karşılaştırır ve eşitlerse NULL döndürür, aksi takdirde ilk ifadeyi döndürür.
Örnek:
1 2 3 | SELECT NULLIF('Oracle','MYSQL') FROM DUAL; |

Örnek:
1 2 3 | SELECT NULLIF('MYSQL','MYSQL') FROM DUAL; |

COALESCE işlevi, girdisi olarak N sayıda bağımsız değişken alır ve ilk NULL OLMAYAN bağımsız değişkeni döndürür.
Örnek:
1 2 3 | SELECT COALESCE('DB Backup','Oracle') FROM DUAL; |

Örnek:
1 2 3 | SELECT COALESCE(NULL,'MYSQL',NULL) FROM DUAL; |

DECODE işlevi, sorguya prosedürel if-then-else mantığı eklememizi sağlar. DECODE, ifadeyi her arama değeriyle tek tek karşılaştırır. İfade bir aramaya eşitse, ilgili sonuç Oracle Veritabanı tarafından döndürülür.
1 2 3 | SELECT DECODE(1, 1, 'Bir') FROM DUAL; |
IF ELSE Karşılığı
1 2 3 4 5 | IF 1 = 1 THEN RETURN 'Bir'; END IF |

Yorum Yap