Database Reference
In-Depth Information
SELECT *
FROM actors
WHERE name = 'Broos Wlis' ;
Selbst ein Trigramm hilft uns hier nicht weiter (wir verwenden % statt =).
SELECT *
FROM actors
WHERE name % 'Broos Wlis' ;
Nutzen Sie Metaphone, einen Algorithmus, der einen String in eine Art Laut-
schrift umwandelt. Sie können festlegen, wie viele Zeichen der Ausgabestring
hat. Zum Beispiel ist das Sieben-Zeichen-Metaphone für den Namen Aaron
Eckhart ARNKHRT .
Um alle Filme zu finden, in denen ein Schauspieler mitgewirkt hat, der wie
„Broos Wils“ klingt, können wir die Query über die Metaphone-Ausgabe lau-
fen lassen. Beachten Sie, dass ein natürlicher Join ( NATURAL JOIN )ein INNER
JOIN ist, bei dem der Join automatisch bei passenden Spaltennamen erfolgt
(z. B. movies.actor _ id= movies _ actors.actor _ id ).
SELECT title
FROM movies NATURAL JOIN movies _ actors NATURAL JOIN actors
WHERE metaphone(name, 6) = metaphone( 'Broos Wils' , 6);
title
-----------------------------
The Fifth Element
Twelve Monkeys
Armageddon
Die Hard
Pulp Fiction
The Sixth Sense
:
Wenn Sie sich die Online-Dokumentation ansehen, sehen Sie, dass das fuz-
zystrmatch -Modul weitere Funktionen enthält: dmetaphone (double metapho-
ne), dmetaphone _ alt (für die alternative Aussprache von Namen) und soundex
(ein wirklich alter Algorithmus aus den 1880ern, entwickelt für die amerika-
nische Volkszählung zum Vergleich gängiger amerikanischer Nachnamen).
Sie können die Ergebnisse der Funktionen untersuchen, indem Sie sich de-
ren Ausgabe ansehen.
SELECT name, dmetaphone(name), dmetaphone _ alt(name),
metaphone(name, 8), soundex(name)
FROM actors;
Search WWH ::




Custom Search