Array
(
)

Como identificar em uma string o primeiro espaco em branco

Jrteixeira
   - 19 out 2004

Pessoal, tenho uma tabela que contem o campo nome. Este campo nome contem por exemplo: Antonio da Silva, gostaria que retornasse somente o valor Antonio. Preciso de uma regra que identifique o primeiro espaco em branco, pois o tamanho do primeiro nome pode variar por exemplo podemos encontrar: Antonio da Silva, Rosangela de Oliveira, Caio Almeira.. enfim nao ha uma padronizacao qto ao tamanho do primeiro nome. Alguem pode me ajudar? Grato

Felipe_cduarte
   - 19 out 2004

fala blz ??

to meio sem tempo de testar mas vc pode usar o comando CHARINDEX

fica assim: @teste = CHARINDEX( ´ ´, campo, 0 )

ai vai te dar a posição do espaço

depois tu faz SUBSTRING( campo, 1, @teste - 1)

como montar no select eu nao consegui legal, mas os comandos sao esses.. qq coisa é só pesquisar CHARINDEX no BOL

[]´s

Jrteixeira
   - 25 out 2004

E ai Felipe, beleza?
Estou tentando usar a sua dica mas estou recebendo msg de erro
(Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near ´=´.
Server: Msg 137, Level 15, State 1, Line 3
Must declare the variable ´@teste´)

minha linha de comando é:
declare @teste = CHARINDEX(´ ´,acc_firsname,0),
select
SUBSTRING( acc_firsname, 1, @teste - 1)
from
rochedef..account

Onde estou errando? gostaria de testar a sua sugestao.

Agora.. tentei de uma outra forma que pesquisei o tbem deu certo:
SELECT
LEFT(CAMPO,PATINDEX(´¬ ¬´,CAMPO))NOME_CAMPO
FROM BANCO..TABELA

Grato

Felipe_cduarte
   - 25 out 2004

Fala cara blz ??

tava sem tempo mesmo pra montar akela resposta mas ai vai agora:

declare @teste int

select @teste = charindex( ´ ´, daluno, 0 )
from acad_alunos
WHERE caluno = 1

Select substring( daluno, 1, ( @teste - 1 ) )
from acad_alunos
WHERE caluno = 1

este é um exemplo de um BD de minha empresa... estou partindo do pressuposto que já se saiba qual pessoa se deseja o primeiro nome ( por isso a condicao WHERE )

PS: testei sua condição tb e acredito q seja uma solucao melhor, pelo menos tem menos linhas hehe :P

[]´s

Felipe_cduarte
   - 25 out 2004

Fala !!

é impressionante como as ideias aparecem pra gente num estalo ! é só fazer isso tb:

SELECT
LEFT(campo, charindex( ´ ´, campo ) )
FROM tabela

eskece tudo lá de cima :P ! testei as duas formas no Execution Plan e me parece que tem o mesmo custo... entao EMPATOU hehehehehe

[]´s

Jrteixeira
   - 26 out 2004


Citação:
Fala !!

é impressionante como as ideias aparecem pra gente num estalo ! é só fazer isso tb:

SELECT
LEFT(campo, charindex( ´ ´, campo ) )
FROM tabela

eskece tudo lá de cima :P ! testei as duas formas no Execution Plan e me parece que tem o mesmo custo... entao EMPATOU hehehehehe

[]´s


Bele.. tbem funciona..
Valeu pela ajuda.. :P