PL/SQL Karakter Fonksiyonlarının Yapılar üzerindeki Faydaları

@ 10 Ocak 2010 tarihinde yazdı. Yazıya yorum yazın.

PL/SQL dilinde karakter fonksiyonlarının kullanılması oracle developer lar için kullanım kolaylıkları sağlamıştır.Bunların kullanılması database üzerindeki veri yığılmalarınında bir nebze de  olsa  önüne geçmiştir bu bakımdan  oluşturulan fonksiyonların kullanılması diğer database sistemlerine göre daha fazla kullanılması oracle database sistemlerinin yine kullanıcıların ne kadar derinlere  inmesine yardımcı olduğunu göstermektedir.

Aşağıdaki kısımda temel karakterler sıralanmaktadır.

Fonksiyon Açıklama
ASCII Girilen değerlerin ASCII sayısal değerini verir.
CHR Girilen değerlerin sayısal değerlerini verir.
CONCAT Girilen değerlerin birbirine bağlamasını sağlar.
INITCAP Girilen değerlerin ilk harflerini büyütür.
LENGTH Girilen değerlerin uzunluğunu verir.
LENGTHB Girilen değerlerin uzunluğunu verir ama byte cinsinden.
LOWER Girilen değerlerin tüm harflerini küçük harfe çevirir.
LTRIM Girilen değerlerin solundaki boşlukları yok eder.
SUBSTR Girilen değerlerin belirtilen kısmına göre iş yapar.

Bence karakter fonksiyonların arasında gerçekten yararlı olacağı daha doğrusu gerçekten kullanıcıya yardımcı olacak kısım nvl ve nvl2 kısmıdır bunlar fazla kod yazımamanıza resmen yardımcı olur.

NVL,NVL2 gibi karakter fonksiyonlarının kullanılmasıda oracle sistemlerine bir artı daha getirmiştir bunları da aşağı kısmdan örnek yazacağız fakat ilk önce nvl ve nvl2 yi şöyle üstünden geçmemizde yararvar.

NVL de girilecek değerlerin hangisi null sistem ilk önce bu değerleri bir kontrol edecek ondan sonra ona göre değer döndürmeye karar verecek.

NVL([konulacak değer], [konulacak değer])

NVL2 2 den fazla olan bir değer üzerin de girilecek değerlere bakıldğı zaman içerisinde null olan değerlere bakılmaktadır ve bu sırada hangisi değer verirse onu fonksiyonda döndürür.

NVL2([konulacak değer], [konulacak değer], [konulacak değer])

Aşağıda gerçek zamanlı bir örnek bulunmaktadır.

IF alfa IS NULL

THEN

beta

THEN

Gama

END IF

Aşağadaki gibi bir seçim yaptımız zaman.

Burda aşağıda null olan yere bir değer de girilselde sistem o değeri null olarak görecektir.

SELECT nvl2(null,’ya’,’sin’)

FROM DUAL

/

Çıkacak sonuç aşağadaki gibi olacaktır.

NVL

—–

ya

NVL

—–

Sin

Kaynakça: http://it.toolbox.com/

Okcan Yasin Saygılı

09.10.2010