Função CONCAT - Amazon Redshift

Função CONCAT

A função CONCAT concatena duas expressões e retorna a expressão resultante. Para concatenar mais de duas strings, use funções CONCAT aninhadas. O operador de concatenação (||) entre duas expressões produz os mesmos resultados que a função CONCAT.

Sintaxe

CONCAT ( expression1, expression2 )

Argumentos

expression1, expression2

Os dois argumentos podem ser uma cadeia de caracteres de comprimento fixo, uma cadeia de caracteres de comprimento variável, uma expressão binária ou uma expressão que é avaliada para uma dessas entradas.

Tipo de retorno

CONCAT retorna uma expressão. O tipo de dados da expressão é o mesmo tipo dos argumentos de entrada.

Se as expressões de entrada forem de tipos diferentes, o Amazon Redshift tentará converter implicitamente o tipo de uma das expressões. Se os valores não puderem ser convertidos, será retornado um erro.

Observações de uso

  • Tanto para a função CONCAT como para o operador de concatenação, se uma ou ambas as expressões forem nulas, o resultado da concatenação será null.

Exemplos

O seguinte exemplo concatena dois literais de caracteres:

SELECT CONCAT('December 25, ', '2008'); concat ------------------- December 25, 2008 (1 row)

A seguinte consulta, usando o operador || em vez de CONCAT, produz o mesmo resultado:

SELECT 'December 25, '||'2008'; ?column? ------------------- December 25, 2008 (1 row)

O exemplo a seguir usa uma função CONCAT aninhada dentro de outra função CONCAT para concatenar três strings:

SELECT CONCAT('Thursday, ', CONCAT('December 25, ', '2008')); concat ----------------------------- Thursday, December 25, 2008 (1 row)

Para concatenar colunas que possam conter NULLs, use Funções NVL e COALESCE, que retorna determinado valor quando encontra NULL. O seguinte exemplo usa NVL para retornar um 0 sempre que NULL for encontrado.

SELECT CONCAT(venuename, CONCAT(' seats ', NVL(venueseats, 0))) AS seating FROM venue WHERE venuestate = 'NV' OR venuestate = 'NC' ORDER BY 1 LIMIT 5; seating ----------------------------------- Ballys Hotel seats 0 Bank of America Stadium seats 73298 Bellagio Hotel seats 0 Caesars Palace seats 0 Harrahs Hotel seats 0 (5 rows)

A seguinte consulta concatena os valores CITY e STATE da tabela VENUE:

SELECT CONCAT(venuecity, venuestate) FROM venue WHERE venueseats > 75000 ORDER BY venueseats; concat ------------------- DenverCO Kansas CityMO East RutherfordNJ LandoverMD (4 rows)

A seguinte consulta usa funções CONCAT aninhadas. A consulta concatena os valores CITY e STATE da tabela VENUE, mas delimita a string resultante com uma vírgula e um espaço:

SELECT CONCAT(CONCAT(venuecity,', '),venuestate) FROM venue WHERE venueseats > 75000 ORDER BY venueseats; concat --------------------- Denver, CO Kansas City, MO East Rutherford, NJ Landover, MD (4 rows)

O exemplo a seguir concatena duas expressões binárias. Onde abc é um valor binário (com uma representação hexadecimal de 616263) e def é um valor binário (com representação hexadecimal de 646566). O resultado é exibido automaticamente como a representação hexadecimal do valor binário.

SELECT CONCAT('abc'::VARBYTE, 'def'::VARBYTE); concat ------------------- 616263646566