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!