PostgreSQL nous propose les méthodes suivantes pour concaténer des chaînes et des nombres :
- Le
CONCAT()
fonction, qui concatène ses arguments. - L'opérateur de concaténation de canal (
||
), qui concatène ses opérandes.
Exemples de chacun ci-dessous.
Le CONCAT()
Fonction
Le CONCAT()
la fonction concatène les représentations textuelles de ses arguments.
Exemple :
SELECT CONCAT('Player', 456);
Résultat :
Player456
Nous pouvons inclure un espace, soit en ajoutant un espace à la chaîne existante, soit en concaténant en incluant un troisième argument composé uniquement d'un espace :
SELECT
CONCAT('Player ', 456) AS "Option 1",
CONCAT('Player', ' ', 456) AS "Option 2";
Résultat :
Option 1 | Option 2 ------------+------------ Player 456 | Player 456
L'opérateur de concaténation de canal (||
)
Cet exemple utilise l'opérateur de concaténation (||
):
SELECT 'Player ' || 456;
Résultat :
Player 456
Dans ce cas, j'ai ajouté un espace au premier argument.
Concaténation de nombres sans chaîne
Si vous avez besoin de concaténer deux nombres mais pas de chaînes, vous devrez d'abord convertir au moins un des nombres en chaîne. Sinon, une erreur se produit.
Exemple d'erreur :
SELECT 123 || 456;
Résultat :
ERROR: operator does not exist: integer || integer LINE 1: SELECT 123 || 456; ^ HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
Voici un moyen rapide de résoudre ce problème :
SELECT CAST(123 AS varchar(3)) || 456;
Résultat :
123456