Maison >base de données >tutoriel mysql >Comment concaténer des colonnes dans les instructions PostgreSQL SELECT tout en gérant les valeurs NULL ?
Question :
Vous souhaitez concaténer deux colonnes de chaîne (a et b) dans une instruction PostgreSQL SELECT. Cependant, la concaténation directe à l'aide de l'opérateur || ou ||, ' renvoie une valeur NULL.
Solution :
Les jointures de type chaîne dans PostgreSQL nécessitent qu'au moins une entrée soit de type chaîne. Pour les types de données non-chaîne, une conversion explicite en type texte est requise pour une concaténation réussie.
Pour joindre des colonnes de type chaîne, utilisez la syntaxe suivante :
<code class="language-sql">SELECT a || b AS ab FROM foo;</code>
Vous pouvez également utiliser la fonction concat_ws() pour combiner des valeurs à l'aide de délimiteurs facultatifs :
<code class="language-sql">SELECT concat_ws(', ', a, b) AS ab FROM foo;</code>
Pour les types de données autres que des chaînes, convertissez-les en type texte avant la concaténation, comme indiqué dans l'exemple suivant :
<code class="language-sql">SELECT a::text || b AS ab FROM foo;</code>
Comparaison des fonctions :
La volatilité des fonctions de concat() et concat_ws() est STABLE, ce qui signifie que ses résultats peuvent changer en fonction des données d'entrée. Pour les fonctions immuables, envisagez d'utiliser des techniques telles que le clonage immuable personnalisé ou la recherche en texte intégral.
Notes supplémentaires :
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!