detaylı arama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
detaylı arama
arkadaşlar bazı programlarda aradığınız kelimenin herhangi bir harfini girerek (mehmet isimli bir kaydı ararken m* yazmak yatarli oluyor)o harfle başlayan bütün kayıtları listeleyebilyorsunuz.
Bu işi filter işlemi ile yapabiliyorum ama query ile nasıl ypılır acaba.
Bu işi filter işlemi ile yapabiliyorum ama query ile nasıl ypılır acaba.
Kod: Tümünü seç
'SELECT * FROM TABLO_İSMİ
WHERE ADI LIKE '''+edit1.text+'%''''
- mehmet_turecan_cakmak
- Üye
- Mesajlar: 132
- Kayıt: 02 Tem 2003 01:08
- Konum: Afyon
- İletişim:
arama
selamlar...
bu konuda benim de bir katkım bulunsun işte kod..
select * from tablo1 where sira_no like "%'+edit1.text+'%" order by sira_no';
kolay gelsin...
bu konuda benim de bir katkım bulunsun işte kod..
select * from tablo1 where sira_no like "%'+edit1.text+'%" order by sira_no';
kolay gelsin...
Merhabalar,
Aslında SQL'de arama yaparken (daha doğrusu selection criteria'yı verirken) % işareti kullanılmakta. (Bazı DB'lerde '_' de kullanılmakta, o işaret kullanılan SQL DB'ye göre değişiklik gösterebilir ancak genelde '%' kullanılmakta.
Eğer sorgulamada kriterin sonuna '%' koyarsanız, verdiğiniz kriter ile başlayan ve sonrası ne olursa olsun şeklindeki kayıtları getirir.
Örn ;
Eğer sorgulamada kriterin önüne '%' koyarsanız. başlangıcı ne olursa olsun, kriterin sonunda aradığınız şey neyse onu arar. (Yani Kriterin bitişi sizin verdiğiniz şey olur)
Örn ;
Son olarak da eğer sorgulamada kriterin önüne ve arkasına '%' işareti koyarsanız, aradığınız kriter, kayıtlarda herhangi bir noktada geçiyorsa (yani içinde herhangi bir yerde geçiyorsa) demek olur.
Örn ;
Umarım açıklayıcı olmuştur.
Kolay Gelsin.
Aslında SQL'de arama yaparken (daha doğrusu selection criteria'yı verirken) % işareti kullanılmakta. (Bazı DB'lerde '_' de kullanılmakta, o işaret kullanılan SQL DB'ye göre değişiklik gösterebilir ancak genelde '%' kullanılmakta.
Eğer sorgulamada kriterin sonuna '%' koyarsanız, verdiğiniz kriter ile başlayan ve sonrası ne olursa olsun şeklindeki kayıtları getirir.
Örn ;
Kod: Tümünü seç
SELECT * FROM ADRESLER WHERE ISIM LIKE 'ADNAN%'
-- ISIM FIELDININ BAŞLANGICI ADNAN İLE BİTEN KAYITLARI GETİR
Örn ;
Kod: Tümünü seç
SELECT * FROM ADRESLER WHERE ISIM LIKE '%ADNAN'
-- ISIM FIELDININ SONU ADNAN İLE BİTEN KAYITLARI GETİR
Örn ;
Kod: Tümünü seç
SELECT * FROM ADRESLER WHERE ISIM LIKE '%ADNAN%'
-- ISIM FIELDININ İÇİNDE ADNAN GEÇEN KAYITLARI GETİR
Kolay Gelsin.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
yeri gelmişken Sybase ASA'nin helpinde bir ara gördüğüm LIKE kullanımı optimize etmek ve performansi arttirmak ile ilgili ufak bir hatırlatma vardı. Onu göndereyim dedim.
In each of the following examples, assume that the pattern in the LIKE predicate is a literal constant or host variable, and X is a column in a base table.
X LIKE '%' is rewritten as X IS NOT NULL
X LIKE 'abc' is rewritten as X = 'abc'
X LIKE 'abc%' is augmented with the predicates X < 'abcZ' and X > = 'abc_'
where Z and _ represent the corresponding high values and low values for the collating sequence of this database. If the database is configured to store blank-padded strings, the second comparison operator is >, not >=, to ensure correct semantics.