Maison > base de données > tutoriel mysql > Comment concaténer des colonnes de chaînes dans les requêtes PostgreSQL SELECT ?

Comment concaténer des colonnes de chaînes dans les requêtes PostgreSQL SELECT ?

Linda Hamilton
Libérer: 2025-01-12 10:28:43
original
509 Les gens l'ont consulté

How to Concatenate String Columns in PostgreSQL SELECT Queries?

Concaténer des colonnes de chaîne dans une requête PostgreSQL SELECT

Dans PostgreSQL, concaténer des colonnes de chaînes directement dans une requête SELECT n'est pas anodin. Prenons l'exemple suivant :

<code class="language-sql">select a || b from foo;</code>
Copier après la connexion

Où a et b sont des colonnes de type caractère(2). Cela renverra NULL au lieu de la concaténation attendue des valeurs a et b.

La solution la plus simple pour concaténer des colonnes de chaîne consiste à convertir au moins une colonne pour saisir du texte :

<code class="language-sql">SELECT a::text || b AS ab FROM foo;</code>
Copier après la connexion

Vous pouvez également utiliser la fonction concat_ws(), qui accepte n'importe quel nombre d'arguments et ignore les valeurs NULL :

<code class="language-sql">SELECT concat_ws(', ', a, b) AS ab FROM foo;</code>
Copier après la connexion

Si vous n'avez pas besoin de séparateurs, vous pouvez utiliser la fonction concat() :

<code class="language-sql">SELECT concat(a, b) AS ab FROM foo;</code>
Copier après la connexion

concat() et concat_ws() sont toutes deux des fonctions volatiles et ne conviennent donc pas à une utilisation dans des colonnes indexées ou générées. Si l'immuabilité est requise, vous pouvez créer une fonction immuable personnalisée.

Veuillez noter que l'opérateur n'est pas un opérateur de concaténation de chaînes valide dans Postgres. Il s'agit d'un ajout unique de Microsoft à ses produits.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal