ORACLE – PL/SQL – ÖZEL FONKSİYONLARI

ORACLE METİNSEL – STRİNG FONKSİYONLAR:

ASCII: Belirtilen karakteri temsil eden sayı kodunu döndürür.

--

SELECT ASCII('A') FROM DUAL;

--SONUÇ: 65

--

ASCIISTR: Herhangi bir karakter kümesindeki bir dizgeyi veritabanı karakter kümesini kullanarak bir ASCII metini(stringi)dönüştürür.

CHR: Numara kodunu temel alarak karakteri döndürür

--

SELECT CHR(65) FROM DUAL;

--SONUÇ : A

--

COMPOSE: Bir Unicode dizgisi döndürür
CONCAT: İki metni birbirine birleştirmenizi sağlar.

--

SELECT CONCAT('Salih ','ŞEKER') FROM DUAL;

--Sonuç : Salih ŞEKER

--

||: Birlikte iki veya daha fazla metni birleştirmenizi sağlar.

--

SELECT 'Salih ' || 'ŞEKER' FROM DUAL;

--Sonuç : Salih ŞEKER
-- MSSQL deki artı "+" işareti gibi çalışmaktadır.

--

CONVERT: Bir metni bir karakter kümesinden diğerine dönüştürür
DECOMPOSE: Bir metni kabul eder ve bir Unicode metni döndürür
DUMP: Veri türü kodunu, bayt cinsinden uzunluğunu ve ifadenin iç gösterimini içeren bir varchar2 değeri döndürür
INITCAP: Her kelimenin ilk harfini büyük harfe ve geri kalanını küçük harfe ayarlar.

--

SELECT INITCAP('salih bloG yazısı') FROM DUAL;

--Sonuç : Salih Blog Yazısı

--

INSTR: Bir dizgede bir dizgenin yerini döndürür
INSTRC: Unicode tam karakterlerini kullanarak bir dizgede bir dizginin konumunu döndürür
LENGTH: Belirtilen metnin uzunluğunu döndürür

--

SELECT LENGTH('SALİH') FROM DUAL;

--Sonuç : 5

--

 

ALTLA: Belirtilen metindeki tüm harfleri küçük harfe dönüştürür
LPAD: Bir metnin sol tarafını belirli bir karakter ile doldurur.

--

SELECT LPAD('Ocak' 10, '.'), LPAD('Haziran' 10, '.') FROM DUAL;

--

screenshot_9

RPAD: Bir metnin sağ tarafını belirli bir karakter ile doldurur.

--

SELECT RPAD('Ocak' 10, '.'), RPAD('Haziran' 10, '.') FROM DUAL;

--

screenshot_8
RTRIM: Belirtilen tüm karakterleri bir metnin sağ tarafından kaldırır.

--

SELECT RTRIM('Ocak.....','.') FROM DUAL;

--Sonuç : Ocak

--

LTRIM: Belirtilen tüm karakterleri bir metnin sol tarafından kaldırır.

--

SELECT LTRIM('.....Ocak','.') FROM DUAL;

--Sonuç : Ocak

--

TRIM: hem LTRIM hemde RTRIM i aynı anda yapan fonksiyondur.

--

SELECT TRIM('.' FROM '..Ocak....') FROM DUAL;

--Sonuç : Ocak

--

NCHR: Karakteri, ulusal karakter kümesindeki sayı koduna göre döndürür
REGEXP_INSTR: Bir dizgede düzenli ifade deseninin yerini döndürür
REGEXP_REPLACE: Normal ifade deseni eşleşmesini kullanarak, bir dizideki karakter dizisini başka bir karakter kümesiyle değiştirmenizi sağlar.
REGEXP_SUBSTR: Normal ifade deseni eşleştirmesini kullanarak bir metinden bir metin e almanızı sağlar.
REPLACE: Bir dizideki karakter sırasını başka bir karakter kümesiyle değiştirir.

--

SELECT REPLACE('Superman','pe','ga') FROM DUAL;

Sonuç : Sugarman

SELECT REPLACE('123Salih123','123') FROM DUAL;

Sonuç : Salih

--

SOUNDEX: Bir dizgenin fonetik bir temsilini döndürür
SUBSTR: Bir metnin belirli bir kısmını almamızı sağlar

--
--SUBSTR(metin,başlangıç_karakteri,[seçilecek_karakter_sayısı])

SELECT SUBSTR('Ankara',3,4) FROM DUAL;

--Sonuç: kara

SELECT SUBSTR('Ankara',2) FROM DUAL;

--Sonuç: nkara

--

TRANSLATE: Bir dizideki karakter dizisini başka bir karakter kümesiyle değiştirir.

--

SELECT TRANSLATE('222oracle','2or','3ac')

--

screenshot_7

bu örnekte 2 olan yerlere 3 , o olan yerlere a , r olan yerlere c ile değiştir demiş oluyoruz.
TRIM: Belirtilen tüm karakterleri ya bir dizgenin başına ya da sonuna kaldırır.
UPPER: Belirtilen metindeki tüm harfleri büyük harfe dönüştürür

--

SELECT UPPER('salih') FROM DUAL;

--Sonuç : SALIH

--

LOWER: Belirtilen metindeki tüm harfleri küçük harfe dönüştürür

--

SELECT LOWER('SALIH') FROM DUAL;

--Sonuç : salih

--

 

VSIZE: Bir ifadenin iç gösterimi içindeki bayt sayısını döndürür

TO_CHAR: Tarih ve sayısal ifadelieri metinsel formata dönüştürmeye yarar.

--

SELECT TO_CHAR(SYSDATE,'DD-MM-YYYYHH24:MI') FROM DUAL;

--

TO_NUMBER: metni numeric bir değere dönüştürür

--

SELECT TO_NUMBER('546654') FROM DUAL;

--

NVL: Null gelen değer yerine istenen değeri yazmamıza yarar. MSSQL deki ISNULL gibi.

--

SELECT DEPARTMENT_NAME , NVL(MANAGER_ID , 0) FROM DEPARTMENTS

--

screenshot_10

NVL2: 3 paramtre alır , ilk paramtre nul değil ise 2. paramtreyi ,null ise 3.paramtreyi geri döner.

--

SELECT DEPARTMENT_NAME , NVL2(MANAGER_ID , 'YÖETİCİSİ VAR' , 'YÖNETİCİSİ YOK' ) FROM DEPARTMENTS

--

screenshot_11

ORACLE SAYISAL- NUMERİC FONKSİYONLAR:

ABS: Sayının mutlak değerini döndürür

--

SELECT ABS(-23) FROM DUAL;

--Sonuç: 23

--

ACOS: bir sayının ark kosinüsünü döndürür , sonucu radyan cinisinden verir.

--

SELECT ACOS(0.5) FROM DUAL;

--Sonuç : 1,04719755119659774615421

--sonucu radyan cinisinden verir.

--

 

ASIN: Bir sayının ark sinüsünü döndürür
ATAN: Bir sayının ark tanjantını döndürür
AVG: Bir ifadenin ortalama değerini döndürür
BITAND: Eksp1 ve expr2 bitlerinde bir AND işlemini temsil eden bir tamsayı döndürür
CEIL: Bir sayıdan büyük veya ona eşit olan en küçük tamsayı değerini döndürür- Yukarı yuvarlar

--

SELECT CEIL(15.7) FROM DUAL;

--Sonuç : 16

--

COS: Bir sayının kosinüsünü döndürür

COSH: Bir sayının hiperbolik kosinüsünü döndürür
COUNT: Bir ifadenin sayısını döndürür. Null kayıtları saymaz.

--

SELECT COUNT(EMPLOYEE_ID) FROM EMPLOYEES;

--Sonuç:107

-- Dikkat : NULL kayıt var ise saymaz.

--

EXP: sayının gücüne yükseltilmiş ifadeler,
FLOOR: Bir sayıya eşit veya daha küçük en büyük tamsayı değerini döndürür – Aşağı Yuvarlar

--

SELECT FLOOR(15.9) FROM DUAL;

--Sonuç : 15

--

GREATEST: İfadeler listesindeki en büyük değeri döndürür

LEAST: İfadelerin bir listesindeki en küçük değeri döndürür
LN: Bir sayının doğal logaritmasını döndürür
LOG: Bir sayının doğal logaritmasını belirtilen bir tabana döndürür
MAX: Bir ifadenin maksimum değerini döndürür
MEDIAN: Bir ifadenin medyanını döndürür
MIN: Bir ifadenin minimum değerini döndürür
MOD: n’nin kalan kısmını m ile döndürür
POWER  sayının kuvvetini alır
REGEXP_COUNT: Bir dizide bir desenin kaç defa oluştuğunu sayar
REMAINDER: n’nin kalanını n’ye böler
ROUND: Belirli bir ondalık basamağa yuvarlanmış bir sayı döndürür
ROWNUM: Bir satırın sırasını temsil eden bir sayı döndürür.

--

SELECT ROWNUM , FIRST_NAME FROM EMPLOYEES;

-- SELECT TOP GİBİ KULLANIM İÇİN WHERE DE KULLANMALIYIZ

SELECT ROWNUM , FIRST_NAME FROM EMPLOYEES WHERE ROWNUM < 6;

--

screenshot_5
screenshot_6
SIGN: Bir sayının işaretini gösteren bir değer döndürür
SIN: bir sayının sinüsünü döndürür
SQRT: Bir sayının karekökünü döndürür
SUM: Bir ifadenin toplanan değerini döndürür
TAN: Bir sayının teğetini döndürür
TANH: n hiperbolik tanjantını döndürür
TRUNC: Belirli bir ondalık basamağa kesilmiş bir sayı döndürür

--

SELECT TRUNC(125.815) FROM DUAL;
--Sonuç: 125

SELECT TRUNC(125.815,2) FROM DUAL;
--Sonuç: 125.81

SELECT TRUNC(125.815,-2) FROM DUAL;
--Sonuç: 100

--

ROWID: Veritabanındaki her kaydın tekil adresidir , her tabloda bulunur.

ORACLE TARİH- DATE FONKSİYONLAR:

ADD_MONTHS: Belirtilen sayıda ay eklenmiş bir tarih döndürür
CURRENT_DATE: Geçerli tarih, ALTER SESSION komutu tarafından ayarlanan geçerli SQL oturumunun saat diliminde döndürür
CURRENT_TIMESTAMP: Geçerli tarih ve saati, geçerli SQL oturumu saat dilimi içinde ALTER SESSION komutu tarafından belirlenen şekilde döndürür
DBTIMEZONE: veritabanı saat dilimini bir zaman dilimi ofseti veya bir saat dilimi bölge adı olarak döndürür
EXTRACT: Bir tarih veya aralık değerinden bir değer çıkarır
LAST_DAY: Bir tarih değerine dayanarak ayın son gününü döndürür
LOCALTIMESTAMP: Geçerli tarih ve saati, geçerli SQL oturumu saat dilimi içinde ALTER SESSION komutu tarafından belirlenen şekilde döndürür
MONTHS_BETWEEN: date1 ile date2 arasındaki ay sayısını döndürür.

--

SELECT LAST_NAME,HIRE_DATE,MONTHS_BETWEEN(SYSDATE,HIRE_DATE) AS AY
FROM EMLOYEES;

--

screenshot_2
NEW_TIME: Bir tarih, saat dilimi1’den saat dilimi2’deki bir tarihe dönüştürür
NEXT_DAY: Bir tarihten daha büyük olan ilk hafta gününü döndürür
ROUND: Belirli bir ölçü birimine yuvarlanan bir tarihi döndürür
SESSIONTIMEZONE: Geçerli oturumun saat dilimini bir zaman dilimi ofseti veya bir saat dilimi bölge adı olarak döndürür
SYSDATE: Mevcut sistem tarih ve saatini yerel veritabanınıza geri döndürür

--

SELECT SYSDATE FROM DUAL;

--Sonuç : 09/09/2018

--

SYSTIMESTAMP: Yerel veritabanınızdaki geçerli sistem tarihini ve saatini (kesirli saniye ve saat dilimi dahil) döndürür
TZ_OFFSET: Bir değerin saat dilimi ofsetini döndürür

 

Bu yazımızda Oracle Fonksyonlarına ve kullanımlarına değindik . Umarım faydalı olur. İyi Çalışmalar 🙂 – Salih ŞEKER

Print Friendly, PDF & Email

You may also like...

Bir cevap yazın