Platz finden in der string-postgresql
Wie findet Leerzeichen nach Wörtern in postgresql:
Ich habe zwei gleiche strings in meine Datenbank :
string1
string1
Ich versuche zu finden, die man mit 2 Leerzeichen vor und einem Leerzeichen nach.
hier sind einige der Abfragen, die ich verwendet mit dem Ergebnis:
SELECT * FROM table WHERE "column" LIKE '__string1_'; --> *no result*
SELECT * FROM part1 WHERE "column" LIKE '__string1%';
Ergebnisse:
1) string1 and xyx
2) string1 and string2
3) string1
aber ich brauche nur string1 mit no strings nach oder vor.
warum verwenden Sie nicht nur wie
einige test-Eingang und-Ausgang wäre schön
' string1'
?einige test-Eingang und-Ausgang wäre schön
InformationsquelleAutor John Macl | 2013-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es wahrscheinlich mehrere Wege, dies zu erreichen. Sehen PostgreSQL ist pattern-matching-Dokumentation für einige Beispiele.
Verwende ich jedoch
%
Muster zu finden:select * from table where column ILIKE '%string1%';
zurückkehren würde alles mit string1, einschließlich der Spalten mit Leerzeichen.Können Sie auch versuchen, die Flucht der Räume:
select * from table where column ILIKE '\ \ string1\ ';
oder, noch einfacher
select * from table where column ILIKE ' string1';
Benutze ich auch die groß-und Kleinschreibung
ILIKE
als alternative für die KleinschreibungLIKE
, so Fall wird nicht Materie in Ihrer Abfrage.Sollten Sie nicht get-string mit 2%, es sei denn, Sie entfernen die " 1 " und legen Sie die % an seinem Platz - also string -%. Sie würde zurückkehren string 12 jedoch als % - matches alles nach der mitgelieferten string, oder vor, je nachdem, ob Ihr die pre-oder postfix. die
\
ist ein escape-Zeichen, so dass seine Flucht den Raum und stellt sicher, es wird verarbeitet, als ein Zeichen und keine Leerzeichen. Sicherzustellen, dass seine\ \
(es gibt ein Leerzeichen zwischen den Schrägstrichen und einer nach).Gibt es eine bestimmte Verwendung für die Räume, obwohl, könnte man nicht einfach schneiden Sie die Daten, um sicherzustellen, Leerzeichen werden entfernt, wenn erforderlich?
InformationsquelleAutor Robert H