Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dayrell

Como buscar um caracter

Recommended Posts

E ai pessoal, beleza?

 

Estou prescisando de alguma função, ou uma maneira que possa buscar um determinado caracter.

 

Por exemplo:

 

Tenho um campo com a seguinte descrição:

 

Texto: Estou prescisando de alguma funcao Data: 15/03/2006

 

A parte (Texto:) e (Data: ) são fixas

Mas o restante não.

Gostaria de pegar somente a parte: (Estou prescisando de alguma funcao)

ou (15/03/2006).

 

Voces tem alguma idéia?

 

Valeu galera!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma saída para isto é usar as funções CHARINDEX e SUBSTRING

 

veja:

declare @str varchar(200)set @str = 'Texto: Estou prescisando de alguma funcao Data: 15/03/2006'select SUBSTRING(@str, CHARINDEX('Texto: ', @str)+7, CHARINDEX('Data: ', @str)-8)set @str = 'Texto: teste x-men Data: 15/03/2006'select SUBSTRING(@str, CHARINDEX('Texto: ', @str)+7, CHARINDEX('Data: ', @str)-8)

falows

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

naum entendi, se você naum tivesse os campos fixos quais seriam seus parametros para comparação?

Compartilhar este post


Link para o post
Compartilhar em outros sites

evira_br,estava tentando entender o código que você me passou...mas não consegui entender como identificou o número 7 e 8.estava achando que estava entendendo.. quando olhei a parte do charindex com +7,mas quando vi o charindex com -8, vi que não estava entendendo mais nada.você poderia me explicar?Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o charindex procura a 1º ocorrencia de um texto dentro de outro, e devolve a posição inicial do texto encontrada, por exemplo:

 

declare @str varchar(200)set @str = 'Texto: Estou prescisando de alguma funcao Data: 15/03/2006'select CHARINDEX('Texto: ', @str)
isso vai retornar 1, pois estou procurando o texto 'Texto' dentro do texto que está dentro da variavel @str

 

se fizermos outra procura na variavel @str

CHARINDEX('Data: ', @str)
procurando o texto 'Data' na variavel @str vai retornar a posição 43

 

com isso temos as posições iniciais 1 e 43

se usarmos estas posicoes no substring, ou seja, naum colocarmos as correções +7 e -8 teremos o seguinte texto de retorno: "Texto: Estou prescisando de alguma funcao D" que não é o que precisamos

 

7 é a quantidade de caracteres deste texto: "Texto: " por isso que adicionamos 7 ...

 

e -8 são os mesmos 7 com o desconto de +1 que é o D pois ele achou 43 dai tiramos 7 que é o tamanho do texto inigial e tiramos 1 que é o D 1º ponto encontrado

 

 

falows

t+

bom fds

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.