Esse artigo faz parte da revista SQL Magazine edição 56. Clique aqui para ler todos os artigos desta edição

: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-weight: normal">Trabalhando com Strings no SQL Server

Aprenda a trabalhar com funções de tratamento de strings no SQL Server

 

Vamos iniciar este artigo com uma pergunta. Quantas vezes você já teve a necessidade de manipular uma string no SQL Server e ficou se perguntando qual seria a função ou comando? Durante o ciclo de desenvolvimento de uma procedure ou script Transact-SQL é muito comum precisarmos utilizar de funções de manipulação de string para atingirmos os resultados desejados. Como um exemplo simples, imagine que você possui uma string de texto composta por vários CPF separados por ponto e vírgula, e para atingir o resultado esperado você precisar retirar todos os pontos e vírgulas do texto. Ou ainda precisa identificar a posição inicial de um texto para que possa capturar apenas a parte à esquerda ou direita.

Felizmente, assim como outras linguagens de programação, o Transact-SQL do SQL Server oferece inúmeras funções que tornam o trabalho com manipulação de string bastante fácil. Neste artigo, estaremos apresentando algumas das principais funções de manipulação de string disponíveis no SQL Server, tais como: SUBSTRING(), REVERSE(), REPLACE(), STUFF(), PATINDEX(), CHARINDEX(), LEFT() e RIGHT(), LTRIM() e RTRIM(), REPLICATE(), SPACE(), CHAR() e STR(). Essas funções serão demonstradas através de exemplos.

 

Função SUBSTRING

Imagine que você possui uma string ou uma coluna e precisa obter os 10 primeiros caracteres a partir da posição 8, ou seja, você precisa retirar da string justamente os caracteres que não estão no ínicio e nem no final da string. Assim como outras linguagens de programação, o Transact-SQL também possui a função SUBSTRING que nos permite alcançar este objetivo. A sintaxe da função é “SUBSTRING(string, posiçao_inicial, numero_de_caracter_a_retornar)”, onde dada uma string, a função retorna o número de caracteres solicitados a partir da posição inicial. Um exemplo de sua utilização pode ser visto na Figura 1, onde utilizamos a função para retirar o texto “Magazine” da string “SQL Magazine”, ou seja, retirar 8 caracteres a partir da posição inicial 5. Para demonstrar como isso se aplica sobre a coluna de uma tabela, no mesmo exemplo, no banco de dados Pubs, obtemos da coluna pub_name da tabela publishers apenas os 11 caracteres a partir da posição 4.

 

Figura 1. Exemplo de utilização da função SUBSTRING.

 

Observem que a função SUBSTRING sempre inicia a partir da esquerda e considera inclusive os espaços em branco no meio do texto.

 

Função REVERSE

Dada a mesma situação apresentada no exemplo da função SUBSTRING, imagine que você não quer obter os caracteres da esquerda para a direita (como faz nativamente a função SUBSTRING), mas sim da direita para a esquerda. O SQL Server oferece uma função muito interessante chamada REVERSE. Possuindo a sintaxe “REVERSE(string)”, dada uma string esta função retorna a string em modo reverso, ou seja, você vê a string como se estivesse olhando-a em um espelho. Para facilitar o entendimento, apresentamos na Figura 2 um exemplo de uso desta função sobre a string “SQL Magazine” e também sobre a coluna pub_name da tabela publishers.

 

Figura 2. ...

Quer ler esse conteúdo completo? Tenha acesso completo