LIKE Kalıpları ve Joker Karakterler
% ve _ joker karakterleriyle LIKE kullanın, büyük-küçük harf duyarlılığını anlayın ve büyük-küçük harfe duyarsız eşleştirme için PostgreSQL'de ILIKE kullanmayı tercih edin.
LIKE Kalıpları ve Joker Karakterler, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.
LIKE Ne Yapar
LIKE, bir dizeyi bir desenle karşılaştırır. İki joker karakter vardır:
%— boş dizi de dâhil olmak üzere herhangi bir dizi_— tam olarak bir karakter
Basit Örnekler
Önek, sonek ve alt dizeye göre eşleştirme:
SELECT email FROM users WHERE email LIKE 'a%'; -- starts with a
SELECT email FROM users WHERE email LIKE '%@gmail.com'; -- ends with @gmail.com
SELECT email FROM users WHERE email LIKE '%admin%'; -- contains adminTek Karakterlik Jokerler
_ tam olarak bir karakterle eşleşir. Sabit genişlikli kodlar için idealdir:
-- 6-char SKU starting with A:
SELECT * FROM products WHERE sku LIKE 'A_____';
-- US zip+4:
SELECT * FROM addresses WHERE zip LIKE '_____-____';Büyük/Küçük Harf Duyarlılığı
PostgreSQL'de LIKE varsayılan olarak büyük/küçük harfe duyarlıdır. Büyük/küçük harfe duyarsız eşleştirme için ILIKE kullanın:
SELECT * FROM users WHERE email LIKE '%@gmail.com'; -- ✗ misses @GMAIL.com
SELECT * FROM users WHERE email ILIKE '%@gmail.com'; -- ✓Joker Karakterlerden Kaçış
Değişmez bir % veya _ karakteriyle eşleşmek için ters eğik çizgiyle kaçış yapın (veya kendi ESCAPE karakterinizi tanımlayın):
-- Match strings that contain '50%':
SELECT * FROM coupons WHERE code LIKE '%50\%%';
-- Custom escape character:
SELECT * FROM coupons WHERE code LIKE '%50!%%' ESCAPE '!';LIKE ve Dizinler
B-tree dizini yalnızca önek desenlerine yardımcı olur:
-- Uses index (prefix is fixed):
SELECT * FROM users WHERE email LIKE 'alice%';
-- Does NOT use a normal index (leading wildcard):
SELECT * FROM users WHERE email LIKE '%example.com';Ön Ekli Joker Aramalarını Düzeltme
"%example%" aramalarında üçlügram (pg_trgm) GIN dizini kullanın — bu konu Gelişmiş Dizinleme bölümünde ele alınır.
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE INDEX users_email_trgm_idx ON users USING GIN (email gin_trgm_ops);
SELECT * FROM users WHERE email LIKE '%example%'; -- now indexableNOT LIKE
Eşleşmeyi olumsuza çevirin:
SELECT * FROM emails WHERE subject NOT LIKE 'RE:%';SIMILAR TO ve Düzenli İfadeler (PostgreSQL)
Daha kapsamlı desen eşleştirme için:
-- SIMILAR TO — SQL regex (rarely used)
SELECT 'abc' SIMILAR TO '%(a|b)%'; -- TRUE
-- POSIX regex:
SELECT 'abc123' ~ '^[a-z]+[0-9]+$'; -- TRUE
SELECT 'ABC' ~* 'abc'; -- TRUE (case insensitive)Arama Kutuları Oluşturma
Kullanıcı arama kutusunu bağlarken şaşırtıcı davranışları önlemek için önce girdideki joker karakterleri temizleyin:
-- Escape user input's special chars before concatenating to LIKE pattern,
-- or use to_tsquery for word-level search.
SELECT * FROM products
WHERE LOWER(name) LIKE LOWER('%' || $1 || '%');Tam Metin Aramasını Yeniden Oluşturmayın
Belgeler arasında sıralanmış ve dili dikkate alan arama için LIKE yerine tsvector + GIN kullanın. Bu konu daha sonra Gelişmiş Dizinleme bölümünde ele alınır.
Özet
LIKE, basit desen eşleştirme için idealdir.
%= herhangi bir dize,_= bir karakter- Büyük/küçük harfe duyarsız eşleştirme için ILIKE kullanın
- Önek aramaları B-tree kullanır; alt dize aramaları üçlügram gerektirir
Hızlı Kontrol
Hangi desen .com ile biten dizelerle eşleşir?
Sıkça Sorulan Sorular
“LIKE Kalıpları ve Joker Karakterler” dersi ücretsiz mi?
Evet — “LIKE Kalıpları ve Joker Karakterler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.
“LIKE Kalıpları ve Joker Karakterler” dersinde ne öğreneceğim?
% ve _ joker karakterleriyle LIKE kullanın, büyük-küçük harf duyarlılığını anlayın ve büyük-küçük harfe duyarsız eşleştirme için PostgreSQL'de ILIKE kullanmayı tercih edin. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
SQL Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“LIKE Kalıpları ve Joker Karakterler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- LIKE Kalıpları ve Joker Karakterler
- Kümeler için IN ve NOT IN
- Aralıklar için BETWEEN
- IS NULL, IS NOT NULL ve COALESCE