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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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) |
A saída desta consulta é a seguinte:
1 2 3 4 5 6 7 8 9 | FedExfieldLander |
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 |
Gera o seguinte resultado:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Jacksonvillefl |
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) |
A saída desta consulta é a seguinte:
1 2 3 4 5 6 7 8 9 10 11 | Dolphin Stadium, Miami Gardens |
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)) |
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 |
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.