Muitos desenvolvedores SQL procuram formas eficientes de segmentar cadeias de caracteres em seus bancos de dados. A divisão de strings, embora pareça simples, pode gerar dúvidas em alguns momentos. Este artigo explora métodos práticos e acessíveis para realizar a divisão de strings por um delimitador no SQL Server. Siga os passos e instruções com atenção para dominar esta habilidade no seu servidor SQL.
Quatro Abordagens para Dividir Strings por Delimitadores em SQL
Existem quatro métodos distintos para segmentar uma string com base em um delimitador específico. Cada método utiliza uma função particular para gerar os resultados desejados em seu ambiente SQL Server. Vamos explorar cada um deles:
Método 1: Divisão de String SQL Padrão
Este método, considerado um dos mais simples, emprega a função SPLIT()
. Esta função aceita uma string e um delimitador como argumentos, e realiza a divisão da string de acordo com o delimitador fornecido.
Sintaxe:
SPLIT(VALUE[, delimiter])
1. A função SPLIT()
divide a string usando a vírgula (,) como delimitador padrão. No entanto, é crucial especificar o delimitador de destino em bytes.
Exemplo:
SELECT SPLIT('1,2,3,4,5,6,7', ',') AS arr;
Resultado:
arr "[1,2,3,4,5,6,7]"
2. Quando um delimitador vazio é fornecido, a função gera um array de caracteres UTF-8 a partir da string. O exemplo abaixo demonstra a divisão de uma string utilizando o espaço em branco como delimitador.
Exemplo: (array de strings)
SELECT SPLIT('p q r s t u v', ' ') AS arr;
Resultado:
arr "[p,q,r,s,t,u,v]"
3. Se a função SPLIT()
for executada com uma string vazia e um delimitador vazio, o resultado será um array vazio.
Exemplo:
SELECT SPLIT('', '') AS arr;
Resultado:
arr []
Método 2: Divisão de Strings com SQL Server
A função STRING_SPLIT()
é utilizada no SQL Server para efetuar a divisão de strings delimitadas.
Sintaxe:
STRING_SPLIT (string , delimiter )
Exemplo:
SELECT VALUE FROM STRING_SPLIT('m,n,o,p,q,r', ',');
Resultado:
VALUE -------------------- m n o p q r
Método 3: Divisão de Strings com PostgreSQL
A função SPLIT_PART()
permite a divisão de strings no PostgreSQL. Esta função recebe a string a ser dividida, o delimitador e a posição da parte desejada como argumentos, e retorna a parte especificada da string.
Nota: O parâmetro ‘position’ deve ser um número inteiro positivo, começando em 1.
Sintaxe:
SPLIT_PART(string, delimiter, position)
Exemplo:
select split_part('h,e,l,l,o', ',', 3);
Resultado:
split_part l
Método 4: Divisão de Strings com MySQL
No MySQL, a função SUBSTRING_INDEX()
é utilizada para dividir uma string delimitada. Ela recebe a string, o delimitador e um contador como argumentos, e retorna o número de strings especificado pelo contador, com base na divisão pelo delimitador.
Sintaxe:
SUBSTRING_INDEX(string, delimiter, count)
Exemplo:
SELECT SUBSTRING_INDEX('q,w,e,r,t,y', ',', 6);
Resultado:
q,w,e,r,t,y
Com estas explicações, esperamos que os quatro métodos para dividir strings por delimitador em SQL tenham ficado claros. As sintaxes fornecidas podem ajudar na implementação. Se restarem dúvidas ou tiver sugestões sobre temas que você gostaria que abordássemos, deixe um comentário abaixo para que possamos saber.