PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So verwenden Sie die Substring-Funktion in PostgreSQL und Redshift

Manchmal kann eine Zeichenfolge in Ihrer Datenbank einige Informationen enthalten, die als Teilzeichenfolge in diese Zeichenfolge eingebettet sind. Diese Zeichenfolge könnte eine ID-Nummer sein, die möglicherweise in einer Aktivität oder Tracking-Nummer für die Website Ihres Unternehmens vorhanden ist.

Hier ist ein Beispiel, bei dem ein Unternehmen, das die Website-Traffic-Aktivitäten überwacht, eine bestimmte Namenskonvention für die Aktivitäts-Tracking-ID hat. Die Namenskonvention ist „Aktivitäts-ID“, die 6 Zeichen lang ist und an erster Stelle „Kunden-ID“, die 7 Zeichen lang ist und an zweiter Stelle erscheint, und an dritter Stelle „Seiten-ID“, die 3 Zeichen lang ist. Diese drei ID-Nummern werden in einer einzigen Zeichenfolge ohne Trennzeichen zusammengefasst. In diesem Beispiel könnte eine Sendungsverfolgungsnummer so aussehen:WSL194OH08856CAS.

Möglicherweise möchten Sie die Kunden-ID-Nummer herausziehen, und dazu können Sie die folgende Teilstring-Funktion verwenden:

SUBSTRING("WSL194OH08856CAS",7,7)

Da die Kunden-ID-Nummer 7 Ziffern lang ist und mit der 7. Position beginnt, funktioniert die oben beschriebene Formel wie folgt:

Möglicherweise möchten Sie auch nur die Aktivitäts-ID haben. Um dies zu erreichen, verwenden Sie dieselbe Funktion nur auf eine etwas andere Weise.

SUBSTRING("WSL194OH08856CAS",1,6)

Genau wie das vorherige Code-Snippet, das wir uns angesehen haben, beginnt dieses mit der 1. Position und gibt eine Zeichenfolge zurück, die 6 Zeichen lang ist.

In unserem letzten Beispiel interessiert Sie vielleicht die Seiten-ID, die in unserem Fall am Ende der Zeichenfolge steht. Dazu können Sie die Funktion wie folgt verwenden:

SUBSTRING("WSL194OH08856CAS",14)

Wenn Sie in diesem Beispiel das letzte Argument weglassen, befehlen Sie der Datenbank, Ihnen alles nach und einschließlich des Zeichens an der 14. Position zurückzugeben.

Mit dieser Funktion können Sie jetzt einen String in einer Spalte basierend auf bekannten Positionen und Längen von Teilstrings, die er enthalten könnte, analysieren. Dies ist eine nützliche Technik, um eine Spalte in mehrere Teilzeichenfolgen aufzuteilen, wenn diese Teilzeichenfolgen auf andere Weise als die Gesamtheit der ursprünglichen Zeichenfolge verwendet werden können.