sexta-feira, 12 de março de 2010

Trabalhando com String Functions

A função Substring do T-SQL nos permite capturar trechos de uma string, onde repassamos a String a ser pesquisada, o índice do ínicio da pesquisa e a quantidade de caracteres que vamos ‘recortar’. Por exemplo, se quisermos obter 10 caracteres da String ‘Microsoft Sql Server 2008’ a partir do terceiro caractere, poderíamos utilizar a seguinte sintaxe:

Select substring('Microsoft Sql Server 2008', 3, 10)

O comando acima retorna a string ‘crosoft Sq’.
Mas se a nossa demanda determinasse capturar os caracteres a partir do início da string, poderíamos usar a função Left, que nada mais é que uma implementação da função Substring com o índice de início, fixa no primeiro caractere e um último parâmetro para o total de caracteres desejados:

Select left('Microsoft Sql Server 2008',10)

O comando acima retorna a string ‘Microsoft’.
Para realizar a mesma idéia da direita para esquerda, podemos usar a função Right:

Select right('Microsoft Sql Server 2008',10)

O comando acima retorna a string ‘erver 2008’.
Agora imagine que é solicitado a você, determinar todos os servidores de email utilizados pelos clientes cadastrados no banco de dados, baseado apenas no email cadastrado. Podemos realizar um substring, passando como parâmetro de início da captura o índice do caractere ‘@’ até o comprimento da string. Podemos fazer isso usando o comando charindex, e o comando len que nos retornam respectivamente o índice de um determinado caractere ou substring em uma string e o total de carcateres em uma string. Seria algo assim:

Select substring('rodrigo@hotmail.com',charindex('@','rodrigo@hotmail.com')+1,len('rodrigo@hotmail.com')-charindex('@','rodrigo@hotmail.com')+1)

Em uma query em cima de uma tabela, realizaríamos a implementação mais ou menos assim:

select
      substring(CampoEmail,charindex('@',CampoEmail)+1,len(CampoEmail)-charindex('@',CampoEmail)+1)
from
      clientes

Até a próxima!

Nenhum comentário:

Postar um comentário

Leave your comment here!