Função concat de desvio para o vermelho

Função concat de desvio para o vermelho

A função Concat no AWS Redshift é usada para concatenar (ingressar) duas ou mais cordas e retorna a string resultante. O tipo de dados da variável resultante é o mesmo que as variáveis ​​de entrada para a função concat. A função concat não pode ser aplicável em uma única string. Pode ser aplicável em duas e mais de duas cordas. Caso queremos aplicar a função concat em mais de duas cordas, a função concat aninhada é usada. A função concat é equivalente ao operador de concatenação (||) usado entre duas strings ou expressões.

Sintaxe da função concat

A sintaxe para função concat é dada no seguinte:

1
Concat (String 1, String 2)

Onde os dois argumentos "String 1" e "String 2" pode ser de comprimento fixo ou de seqüências de comprimento variável.

Se as cordas de entrada são de diferentes tipos de dados, o Amazon Redshift tenta o tipo incondicionalmente lança uma das cordas. Se os valores não puderem ser lançados, um erro será retornado do Amazon Redshift.

Exemplos no uso da função concat

Vamos fazer alguns exemplos para entender completamente o funcionamento da função concat. Esta seção contém vários exemplos para ter uma melhor compreensão da função concat.

  • Concatenação simples de string
  • Concatenação aninhada
  • Manusear valores nulos
  • Aplicando a função concat na tabela de desvio para o vermelho

Concatenação simples de string

Neste exemplo, vamos concatenar as duas cordas - "AWS" e "Redshift". Use a seguinte consulta do Redshift para concatenar essas strings:

1
selecione Concat ('AWS', 'Redshift');

A saída desta consulta é a seguinte:

1
2
3
AWS Redshift
(1 linha)

O mesmo resultado também pode ser gerado usando o operador de concatenação (||). Use a consulta a seguir para concatenar as cordas usando o operador de concatenação no cluster do desvio para o vermelho:

1
Selecione 'AWS' || ' Redshift ';

A saída desta consulta é a seguinte:

1
2
3
AWS Redshift
(1 linha)

Agora, vamos tentar concatenar as cordas, "21 de maio" e "2022". A consulta Redshift a seguir concatena essas seqüências usando a função Concat:

1
selecione Concat ('21 de maio', ', 2022');

Ele gera a seguinte saída. Lembre -se de que o tipo de dados desta consulta é a string, pois os dois parâmetros de entrada são strings:

1
2
3
21 de maio, 2022
(1 linha)

Tente o mesmo exemplo, mas desta vez usando um operador de concatenação (||). A seguir, a consulta para concatenar essas seqüências:

1
Selecione '21 de maio' || ' , 2022 ';

Esta consulta resulta na seguinte saída:

1
2
3
21 de maio, 2022
(1 linha)

Concatenação aninhada

Se você deseja concatenar mais de duas cordas, a função concat aninhada é usada. Da mesma maneira, o operador de concatenação (||) também pode ser usado para concatenar duas ou mais de duas cordas no cluster do desvio para o vermelho. Nesta seção, usaremos o operador de concatenação (||) e a função concat para implementar a concatenação aninhada.

No exemplo a seguir, tentaremos concatenar mais de duas cordas para ter uma melhor compreensão da função concat. A primeira corda é um dia, eu.e. "Sábado". A segunda sequência é uma data e mês, eu.e. “21 de maio”. E a terceira sequência é um ano, eu.e. “2022”.

A consulta a seguir é usada para implementar a concatenação aninhada nessas seqüências:

1
selecione Concat ('Sábado', concat ('21 de maio', '2022'));

Esta consulta gera a seguinte saída:

1
2
3
Sábado, 21 de maio de 2022
(1 linha)

Para concatenar várias cordas, usamos o operador de concatenação (||) em vez da função concat no cluster do desvio para o vermelho. O operador de concatenação (||) pega as cordas dos lados e as concatena para gerar a saída.

A seguinte consulta concatena várias seqüências usando o operador de concatenação (||):

1
Selecione 'Sábado' || '21 de maio' || '2022';

A saída desta consulta é a seguinte:

1
2
3
Sábado, 21 de maio de 2022
(1 linha)

Lidar com valores nulos no desvio para o vermelho

No caso, se passarmos um ou mais valores nulos para a função concat, o resultado estará vazio. Para verificar o valor vazio, executaremos um exemplo de consulta no cluster do Redshift.

Na consulta a seguir, um parâmetro da função concat é nulo:

1
selecione Concat ('AWS Redshift', NULL);

Quando executado, esta consulta gerará uma saída vazia.


Agora, tentaremos o mesmo exemplo usando um operador de concatenação (||) em vez da função concat:

1
selecione 'AWS Redshift' || NULL;

A saída desta consulta também estará vazia.

Para resolver o valor nulo nos dados, Nvl O comando é usado. Nvl O comando é responsável por lidar com os valores nulos nos dados.

Agora, tomamos um exemplo no qual usamos o Nvl Para lidar com o NULO parâmetro. Para isso, usamos a função de manuseio nulo, eu.e. Nvl, Para lidar com os valores nulos.

A consulta a seguir pode ser usada para concatenar a string e o NULO parâmetro tratado pelo Nvl função:

1
selecione Concat ('AWS Redshift', NVL (NULL, "));

Gera a seguinte saída, tomando o NULO Parâmetro como uma string vazia:

1
2
3
AWS Redshift
(1 linha)

Tente o mesmo exemplo, mas desta vez usando um operador de concatenação:

1
Selecione 'AWS Redshift' || Nvl (null, ");

A seguir, é apresentada a saída para esta consulta:

1
2
3
AWS Redshift
(1 linha)

Aplicando a função concat na tabela de desvio para o vermelho

Nesta seção, aplicaremos a função concat na tabela. Usaremos um banco de dados definido pela AWS para aplicar a função concat nele.

Aplicaremos a função concat no local Tabela fornecida pelo Amazon Redshift. Vamos concatenar os dois Colunas de nome de venuename e venuecidade são maiores que 75000.

A consulta a seguir concatena os dados de Venuename e Venuecity onde os veículos são maiores que 75000:

1
2
3
4
5
Selecione Concat (Venuename, Venuecity)
do local
onde venuereats> 2000;

A saída desta consulta é a seguinte:

1
2
3
4
5
6
7
8
9
FedExfieldLander
New York Giants Stadiumeast Rutherford
Arrowhead Stadiumkansas City
Invesco Fielddenver
(4 linhas)

Agora, tente este exemplo usando um operador de concatenação. Mas, nós concatenamos o Venuecity e Veuestate colunas desta vez. Além disso, mudamos a condição de venuereats a 73500:

1
2
3
4
5
6
7
Selecione Venuecity || Venuestate
do local
onde veneuseats> 73500
ordem por veneuseats;

Gera o seguinte resultado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Jacksonvillefl
Orchard Parkny
Miami Gardensfl
Denverco
Kansas Citymo
East Rutherfordnj
Landovermd
(7 linhas)

Agora, aplicamos o conceito de aninhado Concat função no local mesa. A consulta concatena o Venuename e Venuecity valores da tabela. Além disso, adicione as vírgulas e espaços à string resultante:

1
2
3
4
5
6
7
Selecione Concat (Concat (Venuename, ','), Venuecity)
do local
onde venuereats> 74000
ordem por veneuseats;

A saída desta consulta é a seguinte:

1
2
3
4
5
6
7
8
9
10
11
Dolphin Stadium, Miami Gardens
Invesco Field, Denver
Estádio de Arrowhead, Kansas City
Estádio do New York Giants, East Rutherford
FedExfield, Landover
(5 linhas)

Neste exemplo seguinte, concatizaremos a coluna que contém o nulo para entender completamente o conceito de lidar com o Nulo usando o NVL função:

1
2
3
4
5
6
7
Selecione Concat (Venuename, Concat ('Seats', NVL (Venuereats, 0))
do local onde venuestate = 'nc' ou venuestate = 'nv'
Ordem por 1
limite 7;

Esta consulta gera o seguinte resultado quando executado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ballys Hotel Seats 0
Hilton Hotel Seats 0
Bellagio Hotel Seats 0
Assentos do Bank of America Stadium 73298
Assentos do palácio de Caesars 0
Luxor Hotel Seats 0
Assentos do hotel Harrahs 0
(7 linhas)

Conclusão

Neste artigo, discutimos como usar a função concat com a ajuda de vários exemplos. Aplicamos o conceito de função concat, função concat aninhada e operador de concatenação. Estudamos como lidar com os valores nulos na função Concat usando a função NVL. A função concat do AWS Redshift fornece o privilégio total de concatenar as duas ou mais strings em seu banco de dados.