SQL

SQL’de (LIKE) ve (NOT LIKE) İfadesi Nedir ve Nasıl Kullanılır?

Alt alta yazılmış üç adet yazı var. Bu yazıların içerisinde sadece “yardımcı” geçen satırları bulmak için ne yaparsınız?  Sorumuzun cevabı Like ifadesinin kullanımında gizli. Gelin birlikte inceleyelim;

sql_like_kullanimi

Like ifadesi ile WHERE ifadesinden sonra kullanılır ve belirli satırdaki bir değerin kısmi yada tam olarak bulunmasına olanak sağlar.

SQL’de Like İfadesinin Yazım Şekli Aşağıdaki Gibidir

SELECT * FROM "TABLO ADI" (NOLOCK) WHERE "SUTUN ADI" LIKE '%"ARANACAK İÇERİK"%'

Öncelikle aşağıdaki gibi bir tablo oluşturdum,

CREATE TABLE SISTEM (ID INT , ACIKLAMA VARCHAR(50))

Oluşturduğum tabloya aşağıdaki verileri girdim,

sql_like_kullanimi

Bu tablodaki satırların arasında bilgiler geçen kayıtları bulmak için aşağıdaki şekilde LIKE ifadesini kullanabilirsiniz.

SELECT * FROM SISTEM (NOLOCK) WHERE ACIKLAMA LIKE '%bilgiler%'

LIKE ifadesi ile ilgili birkaç detay daha verecek olur isek ; bu ifadeyi kullanarak aradığımız kelimenin yada karakterin başına ve sonuna ” % ” işareti koyuyoruz. Eğer bu işareti ifadenin sonuna koyar isek, ifadenin  ” % ” işaretine kadar olan kısmı birebir aranır.  Yani  bir tabloda 2015-2016 yazan bir kayıt var ise ve siz de LIKE ‘2015%’ yazarsanız mutlaka 2015 ile başlayan kayıtlar gelir. Aynı şekilde ‘%’ işareti kelimenin başına da koyabilirsiniz. O zamanda bir önceki cümlede verdiğim örneğin tam tersi olur ve 2015 ile biten kayıtları listeler siniz.

NOT LIKE

SQL NOT LIKE’de tam tersi olmasını istemediğiniz kayıtları listeleri. Mesela aşağıdaki sorguda SISTEM tablosunda ARACLAR kolununda içerisinde ARABA geçmeyen kayıtlar listelenir.

SELECT * FROM SISTEM WHERE ARACLAR NOT LIKE '%ARABA%'

Sorularınız için yazımıza yorum yapabilirsiniz. Bir sonraki makalede görüşmek üzere.

 

 

Coder

Selam. Herşey yolunda mı?

View all posts by Coder →

2 thoughts on “SQL’de (LIKE) ve (NOT LIKE) İfadesi Nedir ve Nasıl Kullanılır?

  1. Hocam merhaba,
    Çözemediğim bir şey var yardımcı olursanız mutlu olurum
    SELECT TO_DATE(date_inserted, ‘DD-MM-YYYY’) FROM tablo_adi
    sorguyu yazdığımda istediğim sonucu elde edemiyorum. Aşağıdaki hatayı veriyor.
    –ORA-01830: date format picture ends before converting entire input string
    01830. 00000 – “date format picture ends before converting entire input string”–
    sorunu çözebilmem için ne yapmam gerekir yardımcı olabilir misiniz, daha önce başka bir sistemde yaptığımda çalışıyordu aslında..
    örnek olarak almak istediğim sonuç;
    09.09.2021 11:04:00 gibiyken 09.09.2021 olarak almak istiyorum sonucu ama yukarıdaki gibi hata veriyor.
    substr kullanarak yapabiliyorum ama to_date ile de daha önce başka sistemde yaptım, kendi bilgisayarım da yapamıyorum

    1. Merhaba, oracle tarafında kullanım örnekleri aşağıdaki gibi. Tablodaki tarih alanın veri tipi datetime değilse cast etmekte gerekebilir.

      TO_DATE(‘2003/07/09’, ‘yyyy/mm/dd’)
      Result: date value of July 9, 2003

      TO_DATE(‘070903’, ‘MMDDYY’)
      Result: date value of July 9, 2003

      TO_DATE(‘20020315’, ‘yyyymmdd’)
      Result: date value of Mar 15, 2002

      SELECT TO_DATE(tarih_cell, ‘YYYY/MM/DD HH:MI:SS’)
      FROM tablo_adi;

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Artık Sistemciyiz.net'ten ayrılıyorsunuz

Sistemciyiz.net, ziyaretçilere belirli bilgileri sağlamak için diğer kuruluşların web sitelerine bağlantılar sağlar. Bir bağlantı, o web sitesinin içeriğinin, bakış açısının, politikalarının, ürünlerinin veya hizmetlerinin onaylandığı anlamına gelmez. Sistemciyiz.net tarafından sağlanmayan başka bir web sitesine bağlantı oluşturduğunuzda, gizlilik politikası dahil ancak bununla sınırlı olmamak üzere bu web sitesinin hüküm ve koşullarına tabi olursunuz.

You will be redirected to
in 3 seconds...

Click the link above to continue or CANCEL