Lektionen des Moduls (1/4)
String-Funktionen
PostgreSQL verfügt über Dutzende Funktionen zum Bearbeiten von Zeichenfolgen. In dieser Lektion
Wir betrachten die in der Praxis am häufigsten vorkommenden: Normalisieren (LOWER/UPPER),
Messen (LENGTH), Komponieren (|| / CONCAT), Extrahieren (SUBSTRING),
Bereinigen (TRIM), Ersetzen (REPLACE) und Mustersuche
(LIKE / ILIKE).
Die Funktionen, die wir verwenden werden
LOWER('Alice') -- 'alice'
UPPER('alice') -- 'ALICE'
LENGTH('alice') -- 5
'a' || 'b' -- 'ab' (concatenazione)
CONCAT('a', 'b', 'c') -- 'abc' (versione "funzione")
SUBSTRING('hello' FROM 2 FOR 3) -- 'ell'
TRIM(' alice ') -- 'alice'
REPLACE('foo bar', 'bar','x') -- 'foo x'|| ist der Standard-SQL-Operator zum Verketten von Zeichenfolgen. CONCAT ist
freizügiger (es ignoriert NULLs, während || sie weitergibt:
'a' || NULL → NULL).
LIKE und ILIKE: Suche nach Muster
LIKE sucht nach einem Muster: % = eine beliebige Sequenz, _ = eine einzelne
Charakter. Es wird Groß-/Kleinschreibung beachtet. ILIKE ist das PostgreSQL
Variante ohne Berücksichtigung der Groß- und Kleinschreibung:
WHERE name LIKE '%Cuffie%' -- match esatto "Cuffie"
WHERE name ILIKE '%cuffie%' -- match anche "CUFFIE", "Cuffie", "cuffie"
WHERE email LIKE '%@example.com'
WHERE first_name LIKE 'A_____' -- inizia per A, lungo 6 (A + 5 caratteri)Um innerhalb des Musters nach einem Literal % oder _ zu suchen, verwenden Sie ESCAPE:
WHERE titolo LIKE '%50\%%' ESCAPE '\'; -- contiene "50%"Funktionen kombinieren
Funktionen setzen sich wie in jeder Sprache zusammen:
-- Email "normalizzata" e iniziali in maiuscolo:
SELECT LOWER(email) AS email_norm,
UPPER(SUBSTRING(first_name FROM 1 FOR 1)) || '.'
|| UPPER(SUBSTRING(last_name FROM 1 FOR 1)) || '.' AS iniziali
FROM customers
ORDER BY id;Probieren Sie es aus
Geben Sie für jeden Kunden die E-Mail-Adresse in Kleinbuchstaben (Spalte „E-Mail“) und den vollständigen Namen als „Vorname Nachname“ (Spalte „Vollständiger Name“) an. Nach ID bestellen.
Hinweis anzeigen
LOWER für die erste Spalte, || mit einem Leerzeichen dazwischen verketten.
Lösung nach 3 Versuchen verfügbar
Wiederholungsübung
Finden Sie alle Produkte, die das Wort „Laptop“ (auf jeden Fall) im Namen enthalten. Nur die Namensspalte anzeigen. Nach Namen bestellen.
Hinweis anzeigen
Bei ILIKE wird die Groß-/Kleinschreibung nicht beachtet. Verwenden Sie „%laptop%“, um „laptop“ an einer beliebigen Position zu finden.
Lösung nach 3 Versuchen verfügbar