sql >> Base de Datos >  >> RDS >> PostgreSQL

Concatenar una cadena y un número en PostgreSQL

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