Split_Part no SQL

Seguindo com a tentativa de ajudar vocês com o SQL, essa linguagem deliciosa que não é case sensitive, que não se preocupa com identação, que às vezes nem ponto e vírgula precisa; hoje vamos ver uma função bastante útil: split_part(). Uma função que serve para você encontrar tudo que vem antes ou depois de algum caractere específico (ou algo mais ou menos assim).

Split_part(), como alguns devem já imaginar, diz respeito a dividir o campo. No caso, você consegue utilizá-la para separar o campo por algum caractere qualquer. Por exemplo, imagine que você tenha diretórios e queira localizar uma das subpastas. É aí que entra o split_part().

A função serve para dividir um texto de acordo com alguma string especificada. Se você tiver um texto separado por ‘/’, o split_part() vai separá-lo de acordo com esse divisor. A partir disso, você pode decidir qual dessas partes você quer trazer. Em outras palavras, temos algo como:

split_part(‘parte1/parte2/parte3/parte4/…’, ‘/’, qual parte vc quer trazer)

No exemplo abaixo, temos diversos uma tabela em que a coluna diretório serve para identificar onde se encontra o arquivo. Queremos identificar tudo que vem depois da terceira ‘/’, pois esse é o diretório principal:

select split_part(diretorio, '/', 4);

Caso não tenha ficado claro, vamos ver na prática o que significa com alguns exemplos e o resultado do código:

select split_part('user/andre/documents/python', '/', 3)

Saída: documents

select split_part('program-1', '-', 2)

Saída: 1

select split_part('program-1-part-3', '-', 1)

Saída: program

Espero que tenha ficado claro e que isso possa te ajudar quando tiver que lidar com campos contendo algum divisor específico.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *