Menu

12 Eylül 2010 Pazar

Karakter Fonksiyonlari

Karakter degerleri uzerinde islem yapar. Bir cogu bir veya birden fazla karakter veri tipinde paremetre alir ve karakter yada sayisal veri tipinde deger dondurur.
Karakter fonksiyonlarini 2 gruba ayirmak mumkundur.
  • Buyuk kucuk harf donusum fonksiyonlari
             (LOWER, UPPER, INITCAP)
  • Karakter isleme fonksiyonlari
            (SUBSTR, CHR, CONCAT, INSTR, LENGTH ...)

Asagida en cok kullaninalan karekter fonksiyonlarini ogrenelim..

CONCAT
Bu fonksiyon iki parametre alir ve sonuc olarak ikinci dizgeyi birinci dizgeye eklenmis olarak dondurur.
1 .
      SELECT CONCAT('Ertugrul','Aslan') FROM dual;

      DONEN_DEGER  
      -------------
     ErtugrulAslan 

2.
     SELECT CONCAT('Ertugrul',' Aslan') FROM dual;
 
     DONEN_DEGER  
     ------------- 
     Ertugrul Aslan  

3.
     SELECT concat(first_name, last_name) FROM employees where email ='JWHALEN'
 
     DONEN_DEGER  
     ------------- 
     JenniferWhalen  

4.
     SELECT concat(first_name, ' '||last_name) FROM employees where email ='JWHALEN'
 
     DONEN_DEGER  
     ------------- 
     
Jennifer Whalen 


SUBSTR 
SUBSTR(,[,]) fonksiyonu bi karakter dizgesi k1 icerisinde m`inci pozisyondan  baslayarak dizgenin sonuna kadar yada eger belirtilmisse n`inci pozisyona kadar olan dizgeyi dondurur.
1.
     SELECT substr('Ben ve Oracle', 1, 11) FROM dual;
 
     DONEN_DEGER  
     ------------- 
     
Ben ve Orac
 
2.
     SELECT substr('Ben ve Oracle', 1, 11) FROM dual;
 
     DONEN_DEGER  
     ------------- 
     
Ben ve Orac

3.
     SELECT substr('Ben ve Oracle', 1, 13) FROM dual;
 
     DONEN_DEGER  
     ------------- 
     
Ben ve Oracle

4.
     SELECT substr('Ben ve Oracle', 1, 30) FROM dual;
 
     DONEN_DEGER  
     ------------- 
     
Ben ve Oracle


 LENGTH
 LENGTH() fonksiyonu ilgili karakter dizgesinin uzunlugunu dondurur.
1.
     SELECT length('Ben ve Oracle') FROM dual;
 
     DONEN_DEGER  
     ------------- 
     
13
 
2.
     SELECT length('') FROM dual;
 
     DONEN_DEGER  
     ------------- 
      (Null)

 INSTR
INSTR(,,[i[,j]]) fonksiyonu dort paremetre alir. k1 ve k2 karakter dizgeleri, i ve j tamsayidir. Bu fonksiyon k1 icerisinde k2`nin j`inci tekrarinin sayisal pozisyonu dondurur. Arama islemi i`ininci degerder baslar. Eger i`ye negatif bir deger girilirse arama tersten yapilir yani sagdan sola dogru ancak pozisyon yine saga dogru sayilir. I ve j`nin varsayilan degerleri 1`dir.
1.
     SELECT instr('Ertugrul', 'g',1,1) FROM dual;
 
     DONEN_DEGER  
     ------------- 
      5
 
2.
     SELECT instr('Ertugrul', 'g',1,2) FROM dual;
 
     DONEN_DEGER  
     ------------- 
      0
 
3.
     SELECT instr('Ertugrul', 'u',1,1) FROM dual;
 
     DONEN_DEGER  
     ------------- 
     4

4.
     SELECT instr('Ertugrul', 'u',1,2) FROM dual;
 
     DONEN_DEGER  
     ------------- 
      7

5.
     SELECT instr('Ertugrul', 'g',-1,1) FROM dual;
 
     DONEN_DEGER  
     -------------       
      5


LPAD ve RPAD
LPAD(k,i, k2) fonksiyonu 3 parametre alir. k1 ve k2 karakter veritipindendir ve i tamsayidir.Bu fonksiyon k1 karakterinin basina  toplam dizge uzunlugu i oluncaya kadar k2 karakterinden koyar. Eger k1`in uzunlugu i degerininde buyuk ise k1 uzunlugu i olana kadar kesilir. RPAD(k1,i,k2) fonksiyonu ise bu islemi k1`in sonunda yapar

1.
     SELECT lpad('Ertugrul', 15,'+') FROM dual;
 
     DONEN_DEGER  
     -------------       
      +++++++Ertugrul

2.
     SELECT rpad('Ertugrul', 20,'+') FROM dual;
 
     DONEN_DEGER  
     -------------       
      Ertugrul++++++++++++ 

TRIM
TRIM(k1,k2 FROM k3) fonksiyonu uc parametre alir. k2 ve k3 karakter dizgeleridir. k1 asagidakilerden biri olabilir. LEADING, TRAILING, BOTH. Bu fonksiyon secilen k1 degerine gore k3 icerisindeki k2 karakter dizgeleri cikartilmis olarak k3 dizgesini dondurur.
1.
    SELECT TRIM('  Ertugrul.  Aslan  ') test1,
       TRIM('Ertugrul.  Aslan  ') test2,
       TRIM('  Ertugrul.  Aslan') test3
    FROM DUAL;
 
     DONEN_DEGER  
     -------------       
      Ertugrul.  Aslan Ertugrul.  Aslan Ertugrul.  Aslan 


REPLACE
REPLACE(k1,k2,k3) fonksiyonu 3 parametre alir. k1,k2 ve k3 karakter dizgeleridir. Bu fonksiyon k1 icerisinde tum k2`leri k3 ile degistirir. k32nin varsayilan degeri NULL`dur. Eger k3 null olursa k1 icerisindeki tum k2`ler cikarili. Eger k2 NULL olursa k1 degismeden aynen doner. Eger k1 NULL olursa NULL doner.
1.
    SELECT replace('Ertugrul','ul','a') FROM DUAL;
 
     DONEN_DEGER  
     -------------       
      Ertugra


LOWER-UPPER-INITCAP
LOWER(k1) fonksiyonu karakter dizgesi bir parametre alir. Bu fonksiyon parametre olarak verilen karakter dizgesinin tum harflerini kucuk harfer, UPPER, buyuk harfe, INITCAP, ilk harfini buyuk harfe digerlerini kucuk harfe cevirir.
1.
    SELECT lower('eRtUGrUL') LOWER_TEST, upper('eRtUGrUL') UPPER_TEST,     initcap('eRtUGrUL') INITCAP_TEST FROM DUAL;
 
LOWER_TEST   UPPER_TEST    INITCAP_TEST
---------------     ----------------    ------------
ertugrul          ERTUGRUL       Ertugrul 




Hiç yorum yok:

Yorum Gönder