I postgresql Tabelle, die wie folgt aussieht:Gibt es eine Möglichkeit zu wählen, wie mit benutzerdefinierten Separator
+----+---------------------+
| id | names |
+----+---------------------+
| 1 | foo|bar and biz|pop |
+----+---------------------+
Ich möchte Zeile auszuwählen angegebenen Namen enthält. So etwas wie
SELECT "id" FROM "table" WHERE "names" LIKE '%foo%';
id
-----
1
(1 row)
Ich mag die Abfrage diese Zeilen als auch zurück, wenn ich für bar and biz
fragen, aber nichts zurück, wenn ich von bar
fragen.
Für jetzt bin ich hinzufügen Rohr Symbole am Anfang und am Ende der Linie und fragen Sie LIKE '%|bar and biz|%'
. Wie auch immer, ich frage mich, ob es eine Möglichkeit gibt, diese Reihe ohne zusätzliche Rohre zu finden.
Gibt es eine Möglichkeit, solche Abfrage in Postgresql zu tun?
UPD: Es scheint wie ich mein Problem schlecht erklären. Nun, ich will folgendes:
SELECT "id" FROM "table" WHERE "names" LIKE '%bar and biz%';
id
-----
1
(1 row)
und
SELECT "id" FROM "table" WHERE "names" LIKE '%bar%';
id
-----
(0 rows)
Um ehrlich zu sein, ist diese Lösung meine und ich habe diese Spalte gerade erst erstellt. Ich habe versucht, etwas so einfach wie möglich zu erstellen, um Aliase in der Tabelle zu behalten, aber Sie haben recht, die Diskussion hier und Ihr SQL-Snippet zeigen mir, dass meine Idee völlig falsch war. Ich schreibe das besser als Array oder so. Danke für den Wissensaustausch. –