Função de substring de desvio para o vermelho

Função de substring de desvio para o vermelho
Substring de desvio para o vermelho é a função usada para extrair a substring necessária da sequência existente com base na posição inicial e no comprimento da substring. O objetivo da função de substring é retornar a parte específica da string. Os desenvolvedores de banco de dados usam amplamente essa função em consultas para obter uma parte específica da string. Este blog descreve como a função de substring pode ser usada de diferentes maneiras para consultar dados do cluster do Redshift.

Função de substring Sintaxe

A sintaxe básica e mais usada para a função de substring é a seguinte, onde cadeia de caracteres é a sequência principal da qual extrairemos substringas. O posicão inicial é a posição do primeiro caractere da substring na sequência principal, e o comprimento_of_characters é o número de caracteres na substring:

1
substring (caractere_string, starting_position, length_of_characters);

OU

1
substring (caractere_string de start_position [para number_characters]);

Além disso, você pode extrair uma substring de dados binários usando a seguinte sintaxe, onde binário_expression são os dados binários com o tipo de dados Varbyte. O Starting_byte é a posição do primeiro byte da substring extraída de dados binários, e o número_bytes é o número de bytes que a substring incluirá.

Se você não especificar o número_bytes Na função de substring, ele extrairá a substring a partir de Starting_byte até o final dos dados binários.

1
substring (binary_expression, starting_byte, number_bytes);


OU

1
substring (binary_expression, starting_byte);

Usando a função de substring

Até agora, discutimos a sintaxe da função de substring. Nesta seção, veremos como essa função pode ser usada. Vamos discutir alguns exemplos para entender o funcionamento da função de substring:

A função de substring pode ser usada para consultar dados do cluster do desvio para o vermelho com as consultas selecionadas. Esta seção usará a função de substring com a consulta selecionada.

A consulta a seguir retornará o Desvio para o vermelho Quando executado no Redshift:

1
selecione Substring ('AWS Redshift', 5,8);

A tabela a seguir mostra a contagem de personagens no AWS Redshift corda. O espaço entre AWS e Redshift também é contado como um personagem.

A C S R E D S H EU F T
1 2 3 4 5 6 7 8 9 10 11 12

A posição inicial é 5, e o personagem na 5ª contagem é r. O comprimento do personagem é 8, o que significa que começando pela letra, r, oito caracteres serão devolvidos.


Da mesma forma, a seguinte consulta retornará AWS Quando executado no Redshift. O primeiro caractere é A, e a contagem total de substring é 3; É por isso que retornará a substring da AWS.

1
selecione Substring ('AWS Redshift', 1,3);

Se o STARGE_POSIÇÃO+LIMPE_OF_CHARACTERS é maior que o número total de caracteres no cadeia de caracteres, O desvio para o vermelho retornará o valor que começa da posição inicial ao final da string.

Além disso, se o comprimento do caractere não for especificado, a função de substring retornará o valor a partir da posição inicial ao final da string.

1
selecione Substring ('AWS Redshift', 7,8);

OU

1
selecione Substring ('AWS Redshift', 7);

Em ambos os casos, a saída será Dshift, Como mostrado na figura abaixo:


Se a posição inicial for zero ou menor que zero (negativo) valor, a função de substring retornará uma substring começando no primeiro caractere do cadeia de caracteres com um comprimento de STARGE_POSIÇÃO+LIMPE_OF_CHARACTERS-1.

1
selecione Substring ('AWS Redshift',-3,7);

A saída será AWS, Como mostrado na figura abaixo:


Se o STARGE_POSIÇÃO+LIMPE_OF_CHARACTERS-1 é menor ou igual a zero, a função de substring retornará uma string vazia.

1
selecione Substring ('AWS Redshift',-5,4);

A saída para esta consulta será vazio, Como mostrado na figura abaixo:


A consulta a seguir criará o AWS_REDSHIFT_SUBSTRING no cluster do desvio para o vermelho com os atributos especificados:

1
2
3
4
5
6
7
Crie tabela aws_redshift_substring (
S_no int,
PersonName Varchar (255)
);

Insira dados na tabela usando o método de inserção.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
inserir nos valores AWS_REDSHIFT_SUBSTRING (1, 'MR. Dwayne Johnson ');
inserir nos valores AWS_REDSHIFT_SUBSTRING (2, 'MR. Vin diesel ');
inserir em valores de aws_redshift_substring (3, 'MR. Will Smith');
inserir em valores de aws_redshift_substring (4, 'MR. Robert Downey Jr.');
inserir em valores de aws_redshift_substring (5, 'MR. Chris Hemsworth ');
inserir em valores AWS_REDSHIFT_SUBSTRING (6, 'MR. Leonardo DiCaprio ');
inserir em valores AWS_REDSHIFT_SUBSTRING (7, 'MR. Ryan Reynolds');
inserir em valores de aws_redshift_substring (8, 'MR. Chris Pratt ');
inserir em valores AWS_REDSHIFT_SUBSTRING (9, 'MR. Hugh Jackman ');
inserir em valores de aws_redshift_substring (10, 'MR. Mark Wahlberg');

As consultas anteriores inserirão dados na tabela. Agora, selecione os valores da tabela usando a seguinte consulta:

1
Selecione * de AWS_REDSHIFT_SUBSTRING;
s_no personagem
1 Senhor. Dwayne Johnson
2 Senhor. Vin Diesel
3 Senhor. Will Smith
4 Senhor. Robert Downey Jr.
5 Senhor. Chris Hemsworth
6 Senhor. Leonardo DiCaprio
7 Senhor. Ryan Reynolds
8 Senhor. Chris Pratt
9 Senhor. Hugh Jackman
10 Senhor. Mark Wahlberg

Agora, aplique algumas funções de substring nesta tabela. Extraímos apenas os nomes, negligenciando o título. Para isso, execute a seguinte consulta:

1
Selecione *, substring (PESOLNAME, 4) como new_name de AWS_REDSHIFT_SUBSTRING;

Esta consulta retornará as substringas do personagem coluna em uma nova coluna.

s_no personagem novo nome
1 Senhor. Dwayne Johnson Dwayne Johnson
2 Senhor. Vin Diesel Vin Diesel
3 Senhor. Will Smith Will Smith
4 Senhor. Robert Downey Jr. Robert Downey Jr.
5 Senhor. Chris Hemsworth Chris Hemsworth
6 Senhor. Leonardo DiCaprio Leonardo DiCaprio
7 Senhor. Ryan Reynolds Ryan Reynolds
8 Senhor. Chris Pratt Chris Pratt
9 Senhor. Hugh Jackman Hugh Jackman
10 Senhor. Mark Wahlberg Mark Wahlberg


Da mesma forma, podemos obter substâncias de personagem Usando a seguinte consulta selecionada junto com a função de substring:

1
SELECT *, substring (nome de pessoa de 1 para 3) como título de AWS_REDSHIFT_SUBSTRING;

Isso extrairá o único título enquanto negligencia o nome completo.

S_no personagem título
1 Senhor. Dwayne Johnson Senhor.
2 Senhor. Vin Diesel Senhor.
3 Senhor. Will Smith Senhor.
4 Senhor. Robert Downey Jr. Senhor.
5 Senhor. Chris Hemsworth Senhor.
6 Senhor. Leonardo DiCaprio Senhor.
7 Senhor. Ryan Reynolds Senhor.
8 Senhor. Chris Pratt Senhor.
9 Senhor. Hugh Jackman Senhor.
10 Senhor. Mark Wahlberg Senhor.

Conclusão

Este artigo discutiu como poderíamos usar a função de substring para executar consultas no cluster de desvio para o vermelho. Extrair dados modificados do banco de dados é uma grande tarefa e pode ser executado usando a função de substring. O uso da função de substring pode ajudar a evitar a modificação de dados pós -consulta, pois obtém os dados modificados.