Función CONCAT - Amazon Redshift

Función CONCAT

La función CONCAT concatena dos expresiones y devuelve la expresión resultante. Para concatenar más de dos expresiones, utilice las funciones CONCAT anidadas. El operador de concatenación (||) entre dos expresiones produce los mismos resultados que la función CONCAT.

Sintaxis

CONCAT ( expression1, expression2 )

Argumentos

expression1, expression2

Ambos argumentos pueden consistir en una cadena de caracteres de longitud fija, una cadena de caracteres de longitud variable, una expresión binaria o una expresión que tiene como valor una de estas entradas de datos.

Tipo de retorno

CONCAT devuelve una expresión. El tipo de datos de la expresión es igual al de los argumentos de entrada.

Si las expresiones de entrada son de diferentes tipos, Amazon Redshift intenta realizar una conversión de tipo de manera implícita en una de las expresiones. Si no se pueden convertir los valores, se devuelve un error.

Notas de uso

  • Para la función CONCAT y el operador de concatenación, si una o ambas expresiones son nulas, el resultado de la concatenación también lo será.

Ejemplos

En el siguiente ejemplo, se concatenan dos literales de caracteres:

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

La siguiente consulta, utilizando el operador || en lugar de CONCAT, produce el mismo resultado:

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

El siguiente ejemplo utiliza una función CONCAT anidada dentro de otra función CONCAT para concatenar tres cadenas de caracteres:

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

Para concatenar columnas que puedan contener NULL, utilice la función Funciones NVL y COALESCE, que devuelve un valor determinado cuando encuentra un valor NULL. En el siguiente ejemplo, se usa NVL para devolver un 0 siempre que se encuentre un NULL.

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)

En la siguiente consulta, se concatenan valores CITY y STATE de la tabla VENUE:

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

La siguiente consulta utiliza funciones CONCAT anidadas. La consulta concatena los valores CITY y STATE de la tabla VENUE pero delimita la cadena resultado con una coma y un espacio:

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)

En el siguiente ejemplo, se concatenan dos expresiones binarias. Donde abc es un valor binario (con una representación hexadecimal de 616263) y def es un valor binario (con representación hexadecimal de 646566). El resultado se muestra automáticamente como representación hexadecimal del valor binario.

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