PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Concatenar uma string e um número no PostgreSQL


O PostgreSQL nos fornece as seguintes maneiras de concatenar strings e números:
  • O CONCAT() função, que concatena seus argumentos.
  • O operador de concatenação de pipe (|| ), que concatena seus operandos.

Exemplos de cada um abaixo.

O CONCAT() Função


O CONCAT() A função concatena as representações de texto de seus argumentos.

Exemplo:
SELECT CONCAT('Player', 456);

Resultado:
Player456

Podemos incluir um espaço, adicionando um espaço à string existente ou concatenando incluindo um terceiro argumento que consiste apenas em um espaço:
SELECT 
    CONCAT('Player ', 456) AS "Option 1",
    CONCAT('Player', ' ', 456) AS "Option 2";

Resultado:
  Option 1  |  Option 2  
------------+------------
 Player 456 | Player 456

O operador de concatenação de tubos (|| )


Este exemplo usa o operador de concatenação (|| ):
SELECT 'Player ' || 456;

Resultado:
Player 456

Nesse caso, acrescentei um espaço ao primeiro argumento.

Concatenando números sem uma string


Se você precisar concatenar dois números, mas nenhuma string, você precisará converter pelo menos um dos números em uma string primeiro. Caso contrário, ocorre um erro.

Exemplo do erro:
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.

Aqui está uma maneira rápida de superar esse problema:
SELECT CAST(123 AS varchar(3)) || 456;

Resultado:
123456