Heim >Datenbank >MySQL-Tutorial >Wie verkette ich String-Spalten in PostgreSQL-SELECT-Abfragen?

Wie verkette ich String-Spalten in PostgreSQL-SELECT-Abfragen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-12 10:28:43513Durchsuche

How to Concatenate String Columns in PostgreSQL SELECT Queries?

String-Spalten in PostgreSQL-SELECT-Abfrage verketten

In PostgreSQL ist das direkte Verketten von Zeichenfolgenspalten in einer SELECT-Abfrage nicht trivial. Betrachten Sie das folgende Beispiel:

<code class="language-sql">select a || b from foo;</code>

Wobei a und b Spalten vom Typ Zeichen(2) sind. Dies gibt NULL anstelle der erwarteten Verkettung der a- und b-Werte zurück.

Die einfachste Lösung zum Verketten von Zeichenfolgenspalten besteht darin, mindestens eine Spalte in Text umzuwandeln:

<code class="language-sql">SELECT a::text || b AS ab FROM foo;</code>

Alternativ können Sie die Funktion concat_ws() verwenden, die beliebig viele Argumente akzeptiert und NULL-Werte ignoriert:

<code class="language-sql">SELECT concat_ws(', ', a, b) AS ab FROM foo;</code>

Wenn Sie keine Trennzeichen benötigen, können Sie die Funktion concat() verwenden:

<code class="language-sql">SELECT concat(a, b) AS ab FROM foo;</code>

concat() und concat_ws() sind beide flüchtige Funktionen und daher nicht für die Verwendung in indizierten oder generierten Spalten geeignet. Wenn Unveränderlichkeit erforderlich ist, können Sie eine benutzerdefinierte unveränderliche Funktion erstellen.

Bitte beachten Sie, dass der -Operator kein gültiger String-Verkettungsoperator in Postgres ist. Es handelt sich um eine einzigartige Ergänzung von Microsofts Produkten.

Das obige ist der detaillierte Inhalt vonWie verkette ich String-Spalten in PostgreSQL-SELECT-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn