LIKE-Muster und Platzhalter
Verwenden Sie LIKE mit den Platzhaltern % und _, verstehen Sie die Groß- und Kleinschreibung und bevorzugen Sie unter PostgreSQL ILIKE für eine nicht auf Groß-/Kleinschreibung achtende Suche.
LIKE-Muster und Platzhalter ist eine kostenlose SQL Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des SQL Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.
Was LIKE bewirkt
LIKE vergleicht eine Zeichenkette mit einem Muster. Es gibt zwei Platzhalter:
%– eine beliebige Folge von Zeichen (auch eine leere)_– genau ein Zeichen
Einfache Beispiele
Nach Präfix, Suffix und Teilzeichenkette suchen:
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 adminPlatzhalter für einzelne Zeichen
_ steht für genau ein Zeichen. Ideal für Codes mit fester Breite:
-- 6-char SKU starting with A:
SELECT * FROM products WHERE sku LIKE 'A_____';
-- US zip+4:
SELECT * FROM addresses WHERE zip LIKE '_____-____';Groß- und Kleinschreibung
LIKE unterscheidet in PostgreSQL standardmäßig zwischen Groß- und Kleinschreibung. Verwenden Sie ILIKE für einen Vergleich ohne Beachtung der Groß- und Kleinschreibung:
SELECT * FROM users WHERE email LIKE '%@gmail.com'; -- ✗ misses @GMAIL.com
SELECT * FROM users WHERE email ILIKE '%@gmail.com'; -- ✓Platzhalter maskieren
Um ein literales % oder _ zu suchen, maskieren Sie es mit einem umgekehrten Schrägstrich (oder definieren Sie ein eigenes ESCAPE-Zeichen):
-- Match strings that contain '50%':
SELECT * FROM coupons WHERE code LIKE '%50\%%';
-- Custom escape character:
SELECT * FROM coupons WHERE code LIKE '%50!%%' ESCAPE '!';LIKE und Indizes
Ein B-Tree-Index hilft nur bei Mustern mit Präfix:
-- 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';Suchen mit führenden Platzhaltern verbessern
Verwenden Sie für Suchen nach „%example%“ einen Trigramm-Index (pg_trgm) vom Typ GIN – dies wird unter „Erweiterte Indizierung“ behandelt.
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
Die Übereinstimmung negieren:
SELECT * FROM emails WHERE subject NOT LIKE 'RE:%';SIMILAR TO und reguläre Ausdrücke (PostgreSQL)
Für komplexeren Mustervergleich:
-- 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)Suchfelder erstellen
Wenn Sie ein Benutzersuchfeld anbinden, bereinigen Sie zunächst die Platzhalter in der Eingabe, um unerwartetes Verhalten zu vermeiden:
-- 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 || '%');Volltextsuche nicht neu erfinden
Für eine bewertete, sprachbewusste Suche über Dokumente verwenden Sie tsvector + GIN statt LIKE. Dies wird später unter „Erweiterte Indizierung“ behandelt.
Zusammenfassung
LIKE eignet sich hervorragend für einfachen Mustervergleich.
%= beliebige Zeichenkette,_= ein Zeichen- Für Vergleiche ohne Beachtung der Groß- und Kleinschreibung ILIKE verwenden
- Präfixsuchen verwenden B-Tree; für Teilzeichenketten sind Trigramme erforderlich
Kurzer Check
Welches Muster findet Zeichenketten, die mit .com enden?
Häufig gestellte Fragen
Ist die Lektion „LIKE-Muster und Platzhalter“ kostenlos?
Ja — der vollständige Text von „LIKE-Muster und Platzhalter“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des SQL Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „LIKE-Muster und Platzhalter“?
Verwenden Sie LIKE mit den Platzhaltern % und _, verstehen Sie die Groß- und Kleinschreibung und bevorzugen Sie unter PostgreSQL ILIKE für eine nicht auf Groß-/Kleinschreibung achtende Suche. Du übst SQL Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um SQL Academy zu starten?
Keine Vorkenntnisse erforderlich. SQL Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „LIKE-Muster und Platzhalter“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser SQL Academy-Lektion Code schreiben und ausführen?
Ja. Jede SQL Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- LIKE-Muster und Platzhalter
- IN und NOT IN für Mengen
- BETWEEN für Wertebereiche
- IS NULL, IS NOT NULL und COALESCE