PostgreSQL nos proporciona las siguientes formas de concatenar cadenas y números:
- El
CONCAT()
función, que concatena sus argumentos. - El operador de concatenación de tuberías (
||
), que concatena sus operandos.
Ejemplos de cada uno a continuación.
El CONCAT()
Función
El CONCAT()
La función concatena las representaciones de texto de sus argumentos.
Ejemplo:
SELECT CONCAT('Player', 456);
Resultado:
Player456
Podemos incluir un espacio, ya sea agregando un espacio a la cadena existente, o concatenando incluyendo un tercer argumento que consiste únicamente en un espacio:
SELECT
CONCAT('Player ', 456) AS "Option 1",
CONCAT('Player', ' ', 456) AS "Option 2";
Resultado:
Option 1 | Option 2 ------------+------------ Player 456 | Player 456
El operador de concatenación de conductos (||
)
Este ejemplo usa el operador de concatenación (||
):
SELECT 'Player ' || 456;
Resultado:
Player 456
En este caso, agregué un espacio al primer argumento.
Concatenación de números sin cadena
Si necesita concatenar dos números pero no cadenas, primero deberá convertir al menos uno de los números en una cadena. De lo contrario, se produce un error.
Ejemplo del error:
SELECT 123 || 456;
Resultado:
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.
Esta es una forma rápida de solucionar este problema:
SELECT CAST(123 AS varchar(3)) || 456;
Resultado:
123456