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
-------------
ErtugrulAslan
2.
SELECT CONCAT('Ertugrul',' Aslan') FROM dual;
DONEN_DEGER
-------------
Ertugrul Aslan
-------------
Ertugrul Aslan
3.
SELECT concat(first_name, last_name) FROM employees where email ='JWHALEN'
DONEN_DEGER
-------------
JenniferWhalen
-------------
JenniferWhalen
4.
SELECT concat(first_name, ' '||last_name) FROM employees where email ='JWHALEN'
DONEN_DEGER
-------------
Jennifer Whalen
-------------
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
-------------
Ben ve Orac
2.
SELECT substr('Ben ve Oracle', 1, 11) FROM dual;
DONEN_DEGER
-------------
Ben ve Orac
-------------
Ben ve Orac
3.
SELECT substr('Ben ve Oracle', 1, 13) FROM dual;
DONEN_DEGER
-------------
Ben ve Oracle
-------------
Ben ve Oracle
4.
SELECT substr('Ben ve Oracle', 1, 30) FROM dual;
DONEN_DEGER
-------------
Ben ve Oracle
-------------
Ben ve Oracle
LENGTH
LENGTH() fonksiyonu ilgili karakter dizgesinin uzunlugunu dondurur.
1.
SELECT length('Ben ve Oracle') FROM dual;
DONEN_DEGER
-------------
13
-------------
13
2.
SELECT length('') FROM dual;
DONEN_DEGER
-------------
(Null)
-------------
(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
-------------
5
2.
SELECT instr('Ertugrul', 'g',1,2) FROM dual;
DONEN_DEGER
-------------
0
-------------
0
3.
SELECT instr('Ertugrul', 'u',1,1) FROM dual;
DONEN_DEGER
-------------
4
-------------
4
4.
SELECT instr('Ertugrul', 'u',1,2) FROM dual;
DONEN_DEGER
-------------
7
-------------
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;
TRIM('Ertugrul. Aslan ') test2,
TRIM(' Ertugrul. Aslan') test3
FROM DUAL;
DONEN_DEGER
-------------
-------------
Ertugrul. Aslan Ertugrul. Aslan Ertugrul. Aslan
REPLACE
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
--------------- ---------------- ------------
ertugrul ERTUGRUL Ertugrul
Hiç yorum yok:
Yorum Gönder