2016-05-11 5 views
1

Auf unserer PostgreSQL-Datenbank haben wir ein Feld namens Beschreibung. Wie Sie sich vorstellen können, enthält diese Beschreibung eine Menge Text und wir möchten in diese Beschreibungen hineinschauen, um ein bestimmtes Wort zu finden.Wie wähle ich ein Wort in einer Text-SQL-Abfrage aus?

Wir haben versucht, enthält und Charindex Funktion aber beide arbeiten nicht ...

Jede Idee, wie wir dieses Problem lösen kann?

Vielen Dank!

Luca

+0

Haben Sie versucht 'LIKE':' SELECT * FROM Tabelle WHERE Beschreibung LIKE '% yourword%'; '[Hier ist Postgresql Seite auf Mustererkennung] (http://www.postgresql.org/docs/current/static /functions-matching.html) – JNevill

Antwort

0

können Sie reguläre Ausdrücke mit Worttrennmarkierungen verwenden:

select * from table 
where description ~ ('\m' || 'yourword' || '\M'); 

Verwenden ~* statt ~ für Groß- und Kleinschreibung sucht.

Beachten Sie, dass die Verwendung der Beschreibung LIKE '% yourword%' wie @JNevill suggeriert, dass Ihr Wort auch mit anderen Worten gefunden wird, z. 'Jean-Luc Picard' LIKE '%car%' ist wahr.