Oracle PL/SQL içinde genel programlama dillerinde yer olan ve PL/SQL'e has bir çok özellik fonksiyonlar altında bir araya toplanmıştır. Bu fonksiyonlar veritabanı işlemleri ve sorgulama işlemleri sırasında geliştiricilerin işini çok kolaylaştırmaktadır. Bunlardan bir tanesi metin aramaları için kullanılan INSTR fonksiyonudur.
INSTR fonksiyonu Oracle PL/SQL içerisinde parametre olarak verilen metin içerisinde, yine parametre olarak verilen metin parçasını arar ve bulduğu durumda arama sonucunun indeksini sonuç olarak geri döndürür.
Fonksiyonun genel kullanımı aşağıdaki gibidir.
INSTR( string, substring [, start_position [, th_appearance ] ] )
Burada:
string : Arama yapılacak metin parametredir ve ve CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, veya NCLOB türünde olabilir
substring: Aranacak metin parametredir ve CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, veya NCLOB türünde olabilir
start_position: Opsiyonel bir parametredir ve aramanın hangi indeksten itibaren başlayacağını ifade etmek için kullanılır. Eğer değer girilmezse metnin başından itibaren arama işlemi gerçekleştirilir. Eğer bu parametre eksi bir değer girilirse bu zaman başlangıç noktasını bitişten girilen sayı kadar sayarak aramayı bu aralıkta gerçekleştirir.
th_appearance: Opsiyonel bir parametredir ve girilmediği durumlarda bulunan birinci değer varsayılan olarak geri döndürür. Girildiği durumlarda ise bulunan kaçıncı sonucunun döndürüleceğini ifade etmek için bir parametredir.
Son olarak konuyu özetleyecek olursak, Oracle INSTR fonksiyonu parametre olarak verilen metin içerisinde, yine parametre olarak verilen metin parçasını arar ve bulduğu durumda arama sonucunun indeksini sonuç olarak geri döndürür. Aramaların hangi indeksten itibaren başlayacağı ve kaçıncı sonucun geri döndürüleceği opsiyonel olarak fonksiyon parametreleri içerisinde yer alabilir.
substring: Aranacak metin parametredir ve CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, veya NCLOB türünde olabilir
start_position: Opsiyonel bir parametredir ve aramanın hangi indeksten itibaren başlayacağını ifade etmek için kullanılır. Eğer değer girilmezse metnin başından itibaren arama işlemi gerçekleştirilir. Eğer bu parametre eksi bir değer girilirse bu zaman başlangıç noktasını bitişten girilen sayı kadar sayarak aramayı bu aralıkta gerçekleştirir.
th_appearance: Opsiyonel bir parametredir ve girilmediği durumlarda bulunan birinci değer varsayılan olarak geri döndürür. Girildiği durumlarda ise bulunan kaçıncı sonucunun döndürüleceğini ifade etmek için bir parametredir.
Fonksiyonun genel tanıtımından sonra örnekler üzerinden konuyu pekiştirelim.
SELECT
INSTR('Agha Alizade', 'a')
FROM DUAL;
Sonuç: 4 (İlk bulunan karakter)
SELECT
INSTR('Agha Alizade', 'a',1,1)
FROM DUAL;
Sonuç: 4 (İlk karakterden başlayarak arama yapması ve ilk bulunan sonucu getirmesi parametre olarak girilmiştir)
SELECT
INSTR('Agha Alizade', 'a',1,2)
FROM DUAL;
Sonuç: 10 (İlk karakterden başlayarak arama yapması ve ikinci bulunan sonucu getirmesi parametre olarak girilmiştir)
SELECT
INSTR('Agha Alizade', 'a',-4,1)
FROM DUAL;
Sonuç 4 (Sondaki 4 karakteri atarak arama yapıp bulduğu ilk sonuç)
INITCAP fonksiyon aşağıdaki Oracle sürümlerinde yer almaktadır. Muhtemelen bundan sonraki tüm sürümlerde de yer alacaktır.
-Oracle 12c,
-Oracle 11g,
-Oracle 10g,
-Oracle 9i,
-Oracle 8i
-Oracle 12c,
-Oracle 11g,
-Oracle 10g,
-Oracle 9i,
-Oracle 8i
Son olarak konuyu özetleyecek olursak, Oracle INSTR fonksiyonu parametre olarak verilen metin içerisinde, yine parametre olarak verilen metin parçasını arar ve bulduğu durumda arama sonucunun indeksini sonuç olarak geri döndürür. Aramaların hangi indeksten itibaren başlayacağı ve kaçıncı sonucun geri döndürüleceği opsiyonel olarak fonksiyon parametreleri içerisinde yer alabilir.
Oracle PL/SQL bünyesinde yer alan tüm fonksiyonlara ve açıklamalarına ise buradan erişebilirsiniz.
mükemmel olmuş, işin gücün rast gitsin :)
YanıtlaSil