Karakter fonksiyonları karakter verileri girdi olarak  alan, karakter ya da sayısal değerler döndürebilen fonksiyonlardır. Bir çogu bir veya birden fazla karakter veri tipinde paremetre alır ve karakter yada sayısal veri tipinde deger döndürür.
Bazı karakter fonksiyonları ;

CONCAT Fonksiyonu
CONCAT fonkiyonu iki parametre alır ve içine yazlan ikinci dizgeyi birinci dizgeye ekler.

* SQL>SELECT CONCAT(‘Mustafa’,’Bektas’) FROM DUAL;
Dönen_Deger
MustafaBektas

SUBSTR Fonksiyonu
SUBSTR(x,y,z)  fonksiyonu x karakter dizgesinden y’ninci pozisyondan başlayarak x’in sonuna kadar ya da eger belirtilmişse z’ninci pozisyona kadar olan dizgeyi döndürür.

*SQL> SELECT SUBSTR(‘Mustafa’,1) FROM DUAL;
Dönen_Deger
Mustafa
*SQL> SELECT SUBSTR(‘Mustafa’,1,5) FROM DUAL;
Dönen_Deger
Musta
*SQL> SELECT SUBSTR(‘Mustafa’,3,2) FROM DUAL;
Dönen_Deger
st
*SQL> SELECT SUBSTR(‘Mustafa’,-3,2) FROM DUAL;
Dönen_Deger
af

LENGTH Fonksiyonu
LENGTH(x) fonksiyonu x karakter dizgesinin uzunlugunu dönderir.

*SQL> SELECT LENGTH(‘Mustafa’) FROM DUAL;
Dönen_Deger
7

INSTR Fonksiyonu
INSTR(x,y,z,v) fonksiyonu x ve y’si karakter dizgeleri,z ve v’si ise tamsayıdır.INSTR fonksiyonu x karakter dizgesi içinde y karakter dizgesinin z’ninci karakterden başlayarak v’ninci tekrarının kaçıncı karakterde oldugunu gösterir.

*SQL> SELECT INSTR(‘MustafaBektas’,’a’,2,3) FROM DUAL;
Dönen_Deger
7
*SQL> SELECT INSTR(‘MustafaBektas’,’a’,2,5) FROM DUAL;
Dönen_Deger
0
*SQL> SELECT INSTR(‘MustafaBektas’,’a’,-2,3) FROM DUAL;
Dönen_Deger
5

LPAD ve RPAD Fonksiyonları
LPAD(x,y,z) fonksiyonu 3 parametre alır. x ve z karakter veritipindendir ve i tamsayıdır.Bu fonksiyon x karakterinin başına toplam dizge uzunlugu i oluncaya kadar z karakterinden koyar. Eger x`in uzunlugu i degerininde büyük ise x uzunlugu i olana kadar kesilir.
RPAD(x,y,z) fonksiyonu ise bu işlemi xf`in sonunda yapar.

*SQL> SELECT LPAD(‘Mustafa’,15,’*’) FROM DUAL;
Dönen_Deger
********Mustafa
*SQL> SELECT RPAD(‘Mustafa’,15,’*’) FROM DUAL;
Dönen_Deger
Mustafa********
*SQL> SELECT LPAD(‘Mustafa’,5,’*’) FROM DUAL;
Dönen_Deger
Musta

TRIM Fonksiyonu
TRIM(x,y FROM z) fonksiyonu üç parametre alır. y ve z karakter dizgeleridir.x fonksiyonu ise LEADING, TRAILING, BOTH degerlerini alabilir(NOT : x varsayılan olarak BOTH degerini alır) (NOT : y’nin varsayılan degeri boşluk karakteridir).TRIM fonksiyonu seçilen x degerine göre z karakter dizesinden y karakter dizesini çıkartarak gösterir.
•    LEADING : z karakter dizgesinin başındaki y karakterlerini çıkartır.
•    TRAILING : z karakter dizgesinin sonundaki y karakterlerini çıkartır.
•    BOTH : z karakter dizgesinin başındaki ve sonundaki y karakterlerini çıkartır.

*SQL> SELECT TRIM(‘+’ FROM ‘+++Mustafa+++’) FROM DUAL;
Dönen_Deger
Musta
*SQL> SELECT TRIM(LEADING ‘+’ FROM ‘+++Mustafa+++’) FROM DUAL;
Dönen_Deger
Mustafa+++
*SQL> SELECT TRIM(TRAILING ‘+’ FROM ‘+++Mustafa+++’) FROM DUAL;
Dönen_Deger
+++Mustafa
*SQL> SELECT TRIM(‘     Mustafa     ‘) FROM DUAL;
Dönen_Deger
Mustafa

REPLACE Fonksiyonu
REPLACE(x,y,z) fonksiyonu  x karakter dizgesindeki y karakterlerini çıkartır z karakter dizgelerini yerleştirir. (NOT : y’nin ve z’nin varsayılan degeri NULL’dur. Eger z NULL olursa x içerisindeki tum y`ler çıkartılır. Eger y NULL olursa x degişmeden aynen döner. Eger x NULL olursa NULL doner.)

*SQL> SELECT REPLACE(‘Mustafa’,’a’,’A’) FROM DUAL;
Dönen_Deger
MustAfA
*SQL> SELECT REPLACE(‘Mustafa’,’a’) FROM DUAL;
Dönen_Deger
Mustf

TRANSLATE Fonksiyonu
TRANSLATE(x,y,z)  fonksiyonu x karakter dizgesinde ki y karakterlerini z karakterleri ile degiştirir.
NOT : TRANSLATE fonksiyonun REPLACE fonksiyonundan farkı TRANSLATE fonksiyonunda y ve z karakter dizgelerinin içine birden fazla veri ggirebiliyoruk.Örn.

*SQL> SELECT TRANSLATE(‘M*u_st-af*a_Be-kt*a-s*Te_pe’,’-_*’, ‘/’) FROM DUAL;
Dönen_Deger
Must/afaBe/kta/sTepe
*SQL> SELECT TRANSLATE(‘M*u_st-af*a_Be-kt*a-s*Te_pe’,’-_*’, ‘/+’) FROM DUAL;
Dönen_Deger
Mu+st/afa+Be/kta/sTe+pe

LOWER  ve UPPER Fonksiyonu
LOWER(x) fonksiyonu x karakter dizgesinde ki tüm harfleri küçük harfe çevirir.
UPPER(x) fonksiyonu x karakter dizgesinde ki tüm harfleri büyük harfe çevirir.

*SQL> SELECT LOWER(‘Mustafa’) FROM DUAL;
Dönen_Deger
mustafa
*SQL> SELECT UPPER(‘Mustafa’) FROM DUAL;
Dönen_Deger
MUSTAFA

INITCAP Fonksiyonu
INITCAP(x) fonksiyonu x karakter dizgesinde ki ilk harfi büyük harfe çevirir.

*SQL> SELECT INITCAP(‘mustafa’) FROM DUAL;
Dönen_Deger
Mustafa
*SQL> SELECT INITCAP(‘MUSTAFA’) FROM DUAL;
Dönen_Deger
Mustafa

CHR Fonksiyonu
CHR(x) fonksiyonu x’in ASCII kodundaki degerinin karşılıgını dönderir.

*SQL> SELECT CHR(77)||CHR(85)||CHR(83)||CHR(84)||CHR(65)||CHR(70)||CHR(65)  FROM DUAL;
Dönen_Deger
MUSTAFA
*SQL> SELECT CHR(77)||CHR(85)||CHR(83)||CHR(84)||CHR(65)||CHR(70)||CHR(65)  FROM DUAL;
Dönen_Deger
MUSTAFA

ASCII Fonksiyonu
CHR(x) fonksiyonu x’in ASCII kodundaki degerini dönderir.
Not : x fonksiyonu birden fazla karakter içeriyorsa ASCII fonksiyonu x karakterinin sadece ilk karakterinin ASCII kodunu verecektir.

* SQL> SELECT ASCII(‘M’) FROM DUAL;
Dönen_Deger
77
* SQL> SELECT ASCII(‘Mustafa’) FROM DUAL;
Dönen_Deger
77

INSTRB Fonksiyonu : INSTR ile aynıdır ancak karakter yerine byte sayısını sayar.
LENGTHB Fonksiyonu : LENGTH ile aynıdır ancak uzunluk degeri için byte degerini sayar.
SUBSTRB Fonksiyonu : SUBSTR ile aynıdır ancak byte pozisyonuna göre çalışır.
SOUNDEX Fonksiyonu : Karakter dizgesinin sesli(fonetik) dizgesini döndürür.

NOT  : Örneklerimde Oracleda ki DUAL table ‘ ı ve HR user ‘ ı kullanıyorum.

Yazar : Mustafa Bektaş Tepe
Java && Oracle

3,054 total views, 4 views today