Continuando o assunto sobre campos string e suas manipulações, hoje venho apresentar algumas funções para esses tipos de dados textuais que nos ajudam e auxiliam nas queries executadas nos bancos de dados.

SUBTRING

Esta será a primeira função que iremos ver. Quando esta função é chamada, ela retorna parte de um caractere que está sendo buscado. Atua tanto em tipos char, text e binary.

Essa função possui três argumentos que precisamos passar na query que são: a coluna, início e o tamanho.

Apenas para conhecimento, se o data type da coluna for char/varchar/text irá retornar varchar

  • Se o data type for nchar/ nvarchar/ ntext irá retornar nvarchar;
  • E se for binary/ varbinary/ image retorna varbinary

O uso desta função é bem simples e intuitivo, veja abaixo um exemplo. 

Após chamar a função SUBSTRING, o primeiro número que está ali, indica o ponto de início que a função deverá ‘iniciar’. Como na coluna nome eu indiquei 1, a função começa da primeira letra.

Já o segundo número passado como parâmetro na função SUBSTRING indica quantas letras a partir do início o usuário deseja que a função retorne. Como na coluna nome passei o número 1, retornou apenas uma letra.

STRING_SPLIT

Funciona como um divisor de string tornando essa string separada em substring que é baseada de acordo com o delimitador utilizado.

Essa função possui apenas dois argumentos: string e separador.

Quando executada retorna ao seu final uma coluna chamada VALUE que possui as substrings. 

Veja abaixo o primeiro exemplo para aplicação de uma substring.

No exemplo seguinte, podemos utilizar a função de string_split retirando o delimitador underscore

O interessante que mesmo sendo campos string, podemos utilizar o order by! 

Por ser uma função de string, conseguimos tratar campos concatenados com delimitadores e também utilizar um cross apply 

Como bônus, vamos ver um jeito alternativo de utilizar a substring com a função string_split 

RTRIM, LTRIM & TRIM

É uma função para tratamento de texto que exclui caracteres vazios em inserções ou colunas de tabelas. Esse tipo de ocorrência costuma acontecer quando importamos dados de outras fontes que não foram corretamente formatados ou até mesmo quando realizamos processos de ETL.

No RTRIM cortamos os espaços a direita do valor retornado.


E podemos aplicar com concatenação de valores do tipo texto.

Já a função de LTRIM irá cortar os campos vazios que estão à esquerda do resultado. 

Dependendo da situação, há a possibilidade de usar a função TRIM que acaba funcionando como uma união do LTRIM E RTRIM.

SUBSTITUINDO TEXTO COM REPLACE

Assim como é possível substituir NULL com COALESCE, também podemos substituir valores de texto em consultas com a função REPLACE.

Essa função possui três argumentos que são usados para substituição. 

  • String_expression – que é o texto que será varrido pelo REPLACE;
  • String_pattern – que é a parte que a função irá selecionar para substituir;
  • String_replacement – que é o texto que irá substituir o segundo argumento.

Veja o exemplo:

CONCAT_WS (EXTRA)

A função CONCAT_WS é uma forma alternativa de concatenação e pode ser muito útil quando estamos trabalhando com datas. Veja o exemplo:

Finalizo assim esse post com as funções mais utilizadas ou mais úteis no que tange ao tratamento de textos no SQL Server. Estas funções permitem formatar, substituir, concatenar e limpar valores indesejados que acabam retornando na consulta.

Espero que esta postagem tenha ajudado e tenham uma ótima noite!

Abraços