Tags

, , , , , , , , ,

Merhaba Arkadaşlar geçen yazımızda String Fonksiyonlardan(Character Functions)
Case-Conversion fonksiyondan(Lower,Upper,Initcap) bahsetmiştik bu yazımızda Character-manipulation fonksiyonlardan yani Concat,Substr,Lenght,Instr,Lpad ve Rpad,Trim ve Replace‘den bahsedeceğiz.Bu fonksiyonları kullanarak veri tabanımızdaki bilgilere çeşitli operasyonlar yapacağız.

Concat:
Concat fonksiyonu aynı vertical bar kullanımında olduğu gibi iki veriyi
birleştirerek görüntülememizi sağlar.
select concat(‘Merhaba’,’Dünya’) from dual;

concat function

Görüldüğü gibi verilen iki stringi birleştirdi.

select concat(first_name,last_name) from employees;               Bu sorgumuzda’da employees tablosundaki first_name ve last_name alanlarını birleştirip monitör edecektir.

Substr:
Substr fonksiyonu seçilen datanın belirtilen kısmını almak için kullanılır.Bazı programcı arkadaşların kafası karışmasın oracle veri tabanında stringlerin
ilk karakteri 1 den başlar 0 dan değil.
select substr(‘HelloWorld’,1,5) from dual;

substr function

select substr(‘HelloWorld’,6,2) from dual;                                                       

substr function2

select substr(‘HelloWorld’,-5,5) from dual;

substr function3

Arkadaşlar görüldüğü gibi soldan  sağa doğru ilk verilen değer kaçıncı sıradaysa ikinci verilen değer kadar sağa ilerliyor. Son örnekte -5 değeri verilmiş -5 dediği için bu kez sağdan 5 değer sola kayıp sonra 5 değer kadar tekrar sağa ilerleyecektir. Employees tablomuzdaki ortak örnek yazının sonunda.

Length:
Length seçilen datanın karakter uzunluğunu bize belirtir.Belirtilen
datanın içindeki bütün karakter alanlarını sayacaktır.(boşluk vb.)
select length(‘Merhaba Dünya’) from dual;                                                              

length function

Görüldüğü gibi Merhaba ile Dünya arasındaki space(boşluk) dahil bütün karakter alanını saydı.

Instr:
Instr fonksiyonu ile belirtilen bir datanın içerisin’de belirtilen bir
karakterin kaçıncı sırada olduğunu bulur.Burada yine boşluk vb. sayılacaktır.
select instr(‘Merhaba Dünya’,’D’) from dual;                                                          

instr function

instr function

Lpad:                                                                                                                    Lpad fonksiyonu belirtilen datanın soluna belirtilen karakteri eklememize yardımcı olur.Datayı ve eklemek istediğimiz karakteri belirtip karakter uzunluğunu yazarak kullanabiliriz.

Select lpad(‘1000′,10,’$’) from dual;                                                                      

Lpad function

Lpad function

Görüldüğü gibi ‘1000’ in soluna 10 karakteri tamamlayacak şekilde $ koyulmuştur.1000 den 4 karakter geldiği için 6 tanede $ gelmiştir.

Rpad:
Rpad aynı Lpad gibi belirtilen datanın yanına karakter eklememizi sağlar. Tek fark
isminden’de anlayacağınız gibi eklenecek olan karakteri datanın sağına ekler.
Select rpad(‘1000′,10,’$’) from dual;                                                                      

Rpad

Rpad

Görüldüğü gibi ‘1000’ in sağına 10 karakteri tamamlayacak şekilde $ koyulmuştur.1000 den 4 karakter geldiği için 6 tanede $ gelmiştir.

                                                                      
REPLACE:
Replace belirtilen bir data içerisinde belirlenen bir karakterden sonraki
karakterleri alıp belirtilen bir karakterin arkasına yazmak için kullanılır.
Örnekle daha iyi anlayacaksınız..
select replace(‘JACK and JUE’,’J’,’BL’) from dual;

replace function

replace function

Burada ‘JACK and JUE’ daki J leri atıp yerine BL yazacaktır.

Trim:
Trim ismindende anlaşılacağı gibi belirtilen data içerisinde
istediğimiz karakteri eksiltmemizi sağlar.
select trim(‘M’ from ‘Merhaba Dünya’) from dual;                                                   

trim function

trim function

Arkadaşlar şimdi oracle veri tabanımız içerisindeki employees
tablomuz üzerinde yukarıdaki fonksiyonları kullanarak örnek yapalım.

SELECT employee_id, CONCAT(first_name, last_name) NAME,
job_id, LENGTH (last_name),
INSTR(last_name, ‘a’) “Contains ‘a’?”
FROM employees
WHERE SUBSTR(job_id, 4) = ‘REP’;                                                                         

Arkadaşlar bu örnekte first_name ve last_name concat fonksiyonu ile
birleştirilip name aliası ile monitör edilecektir. Length(last_name)
diyerek çalışanlarımızın soy isimlerinin kaç karakter uzunluğunda olduğunu
ekrana monitör ediyoruz.instr(last_name,’a’) diyerek last_name alanının içerisine
bakıp a harfinin kaçıncı sırada olduğunu gösteriyor ve son olarak
Substr(job_id,4) diyerek hangi çalışanların job_id sinin 4. karakterinden
itibaren ‘REP’ vardır.Ekran çıktısı aşağıdaki gibidir.

concat,length,instr,substr functions

concat,length,instr,substr functions

Arkadaşlar bir sonraki yazımızda Number Function(Round,Trunc,Mod) bahsedeceğim.