PL/SQL Operatörler

Oracle PL/SQL içerisinde çeşitli hesaplamalar yapmak için kullanılan aritmetik, ilişkisel, karşılaştırma ve string operatörleri hakkında bilgi yer alıyor.

Operatörler

Operatörler programlama dillerinde bir veya birden fazla değer arasında işlem yapan özel ifadelerdir.

PL/SQL çeşitli verileri üzerinde işlem yapmayı sağlayan operatörlere sahiptir.

  • Aritmetiksel operatörler,
  • İlişkisel operatörler
  • Karşılaştırma operatörleri
  • Mantıksal operatörler
  • String operatörü

Aritmetiksel operatörler

Sayılar üzerinde toplama, çıkarma, çarpma ve bölme gibi temel sayısal işlemleri yapmayı sağlayan operatörlerdir.

SET SERVEROUTPUT ON;
BEGIN
    DBMS_OUTPUT.put_line( 10 + 10);
    DBMS_OUTPUT.put_line( 10 - 7);
    DBMS_OUTPUT.put_line( 10 * 7);
    DBMS_OUTPUT.put_line( 10 / 7);
    DBMS_OUTPUT.put_line( 10 ** 3); -- üst alma
END;

İlişkisel operatörler

İki değeri karşılaştırarak operatör sonucuna göre BOOLEAN türünden TRUE veya FALSE değeri döndürür.

SET SERVEROUTPUT ON;
DECLARE
   v_sayi1 number (2) := 10;
   v_sayi2 number (2) := 20;
BEGIN

   IF (v_sayi1 = v_sayi2) THEN
      DBMS_OUTPUT.put_line('v_sayi1 ve v_sayi2 eşit.');
   ELSE
      DBMS_OUTPUT.put_line('v_sayi1 ve v_sayi2 eşit değil');
   END IF;
   
   IF (v_sayi1 < v_sayi2) THEN
      DBMS_OUTPUT.put_line('v_sayi2 daha büyük.');
   ELSE
      DBMS_OUTPUT.put_line('v_sayi1 daha büyük.');
   END IF;

   IF ( v_sayi1 > v_sayi2 ) THEN
      DBMS_OUTPUT.put_line('v_sayi1 daha büyük.');
   ELSE
      DBMS_OUTPUT.put_line('v_sayi2 daha büyük.');
   END IF;

   v_sayi1 := 3;
   v_sayi2 := 7;
   IF ( v_sayi1 <= v_sayi2 ) THEN
      DBMS_OUTPUT.put_line('v_sayi2 eşit veya daha büyük.');
   END IF;
   IF ( v_sayi1 >= v_sayi2 ) THEN
      DBMS_OUTPUT.put_line('v_sayi1 eşit veya daha büyük.');
   END IF;

   IF ( v_sayi1 <> v_sayi2 ) THEN
      DBMS_OUTPUT.put_line('v_sayi1 ve v_sayi2 eşit değil.');
   ELSE
      DBMS_OUTPUT.put_line('v_sayi1 ve v_sayi2 eşit.');
   END IF;
END;

Karşılaştırma operatörleri

Karşılaştırma operatörleri de ilişkisel operatörler gibi iki değer üzerinden işlem yapar ve BOOLEAN türünden TRUE veya FALSE değeri döndürür.

LIKE

Operatör SQL içerisinde yer alan LIKE gibi desene göre arama yapmak için kullanılır.

SET SERVEROUTPUT ON;
DECLARE
    v_mesaj VARCHAR2(100) := 'Merhaba ben Yusuf SEZER';
BEGIN
    IF v_mesaj LIKE '%Yusuf%' THEN
        DBMS_OUTPUT.put_line('Değer bulundu.');
    ELSE
        DBMS_OUTPUT.put_line('Değer bulunamadı.');
    END IF;
END;

BETWEEN

Operatör SQL içerisinde yer alan BETWEEN gibi belirli bir aralığı sorgulamak için kullanılır.

SET SERVEROUTPUT ON;
DECLARE
    v_yas PLS_INTEGER := 75;
BEGIN
    IF (v_yas BETWEEN 0 AND 5) THEN
        DBMS_OUTPUT.put_line('Bebek');
    ELSIF (v_yas BETWEEN 5 AND 12) THEN
        DBMS_OUTPUT.put_line('Çocuk');
    ELSIF (v_yas BETWEEN 12 AND 18) THEN
        DBMS_OUTPUT.put_line('Genç');
    ELSE
        DBMS_OUTPUT.put_line('Diğer');
    END IF;
END;

IN

Operatör SQL içerisinde yer alan IN gibi belirli değerleri sorgulamak için kullanılır.

SET SERVEROUTPUT ON;
DECLARE
    v_mesaj VARCHAR2(55) := 'bir';
BEGIN
    IF (v_mesaj IN('istenmeyen', 'bir', 'mesaj') ) THEN
        DBMS_OUTPUT.put_line('Bulundu.');
    ELSE
        DBMS_OUTPUT.put_line('Bulunamadı.');
    END IF;
END;

IS NULL

Değerin NULL olup olmadığı kontrol etmek için kullanılır.

SET SERVEROUTPUT ON;
DECLARE
    v_mesaj VARCHAR2(55) := '';
BEGIN
    IF v_mesaj IS NULL THEN
        DBMS_OUTPUT.put_line('Mesaj boş.');
    ELSE
        DBMS_OUTPUT.put_line(v_mesaj);
    END IF;
END;

Mantıksal operatörler

Mantıksal operatörler (AND, OR, NOT) bir veya birden fazla operatörü birbirine bağlamak için kullanılır.

SET SERVEROUTPUT ON;
DECLARE
    v_sonuc1 BOOLEAN := TRUE;
    v_sonuc2 BOOLEAN := FALSE;
BEGIN
    IF v_sonuc1 AND v_sonuc2 THEN
        DBMS_OUTPUT.put_line('Her iki ifade doğru.');
    ELSIF v_sonuc1 OR v_sonuc2 THEN
        DBMS_OUTPUT.put_line('Bir ifade doğru.');
    END IF;

    IF NOT v_sonuc2 THEN
        DBMS_OUTPUT.put_line('v_sonuc2 FALSE değerine sahip.');
    END IF;
END;

String operatörü

PL/SQL içerisinde yer alan || operatörü string ifadeleri birleştirmek için kullanılır.

SET SERVEROUTPUT ON;
DECLARE
    v_adi VARCHAR(40) := 'Yusuf';
    v_soyadi VARCHAR(40) := 'SEZER';
BEGIN
    DBMS_OUTPUT.put_line('Merhaba ben ' || v_adi || ' ' || v_soyadi);
END;

PL/SQL Derslerine buradan ulaşabilirsiniz.

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!