Heim >Datenbank >MySQL-Tutorial >Wie verkette ich Spalten in PostgreSQL-SELECT-Anweisungen beim Umgang mit NULL-Werten?
Frage:
Sie möchten zwei Zeichenfolgenspalten (a und b) in einer PostgreSQL-SELECT-Anweisung verketten. Die direkte Verkettung mit dem Operator || oder ||, ' gibt jedoch einen NULL-Wert zurück.
Lösung:
String-Typ-Joins in PostgreSQL erfordern, dass mindestens eine Eingabe vom String-Typ ist. Für Nicht-String-Datentypen ist für eine erfolgreiche Verkettung eine explizite Konvertierung in einen Texttyp erforderlich.
Um Spalten vom Typ „String“ zu verbinden, verwenden Sie die folgende Syntax:
<code class="language-sql">SELECT a || b AS ab FROM foo;</code>
Alternativ können Sie die Funktion concat_ws() verwenden, um Werte mithilfe optionaler Trennzeichen zu kombinieren:
<code class="language-sql">SELECT concat_ws(', ', a, b) AS ab FROM foo;</code>
Konvertieren Sie Datentypen, die keine Zeichenfolgen sind, vor der Verkettung in den Texttyp, wie im folgenden Beispiel gezeigt:
<code class="language-sql">SELECT a::text || b AS ab FROM foo;</code>
Funktionsvergleich:
Die Funktionsvolatilität von concat() und concat_ws() ist STABIL, was bedeutet, dass sich die Ergebnisse je nach Eingabedaten ändern können. Erwägen Sie für unveränderliche Funktionen den Einsatz von Techniken wie benutzerdefiniertem unveränderlichem Klonen oder Volltextsuche.
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie verkette ich Spalten in PostgreSQL-SELECT-Anweisungen beim Umgang mit NULL-Werten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!