Jump to content


Photo

Pegar Nome E Sobrenome Do Campo Nome Completo


  • Faça o login para participar
9 replies to this topic

#1 Xenofonte

Xenofonte

    Turista

  • Usuários
  • 25 posts
  • Sexo:Não informado

Posted 20/05/2009, 16:44

Galera,

No asp e vb eu uso o instr, pra pegar o nome e sobrenome de uma pessoa.

não estou conseguindo em SQL, como faço isso? Tenho que pegar o que tem antes do primeiro espaço e o que tem depois do ultimo espaço, mas não to sabendo fazer.

ex: select nome_compl from ly_aluno where aluno = '300050006'

essa consulta me retornou André Luis Graf eu só queria que aparecesse André Graf.

Tudo isso em Sql. Qual a consulta que eu devo fazer?


Alguém pode me ajudar?


Como eu pego só o nome e sobrenome da pessoa na mesma consulta?


Valeu!

#2 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 22/01/2010, 16:45

Você vai utilizar de um script que trabalhe como um "split" onde, o nome
será separado e alocado como registros, para depois serem pegos
os primeiros e ultimos registro, retornando assim o nome no formato que você
necessita, veja este script:
CREATE FUNCTION FUNC_SPLIT(@texto varchar(8000))
returns @palavras table (
pos smallint primary key,
valor varchar(8000)
)
AS
BEGIN

-- variaveis locais
declare
@pos smallint,
@i smallint,
@j smallint,
@s varchar(8000)

set @pos = 1
while @pos <= len(@texto)
begin
set @i = charindex(' ', @texto, @pos)
set @j = charindex(',', @texto, @pos)
if @i > 0 or @j > 0
begin
if @i = 0 or (@j > 0 and @j < @i)
set @i = @j

if @i > @pos
begin
set @s = substring(@texto, @pos, @i - @pos)

insert into @palavras
values (@pos, @s)
end
set @pos = @i + 1

while @pos < len(@texto) and substring(@texto, @pos, 1) in (' ', ',')
set @pos = @pos + 1
end
else
begin
insert into @palavras
values (@pos, substring(@texto, @pos, len(@texto) - @pos + 1))

set @pos = len(@texto) + 1
end
end

return

END
Assim você pode manipular os registros através do VBScript!! ;-)

O retorno quando passado como parâmetro "Renan Lemes Queiroz":
Retorno da função
posvalor
1Renan
7Lemes
13Queiroz

Exemplo de funcionamento local:
Adaptado para sua necessidade, podendo torná-la em uma função.
    /* variaveis de teste */
declare @texto varchar(2000)
declare @palavras table(pos smallint, valor varchar(2000))

set @texto = 'Renan Lemes Queiroz'

/* variaveis locais */
declare
@resultadoNome varchar(2000),
@pos smallint,
@i smallint,
@j smallint,
@s varchar(2000)

set @pos = 1
while @pos <= len(@texto)
begin
set @i = charindex(' ', @texto, @pos)
if @i > 0
begin
if @i > @pos
begin
-- @i agora detém o primeiro delimitador na cadeia
set @s = substring(@texto, @pos, @i - @pos)

insert into @palavras
values (@pos, @s)
end
set @pos = @i + 1

while @pos < len(@texto) and substring(@texto, @pos, 1) in (' ', ',')
set @pos = @pos + 1
end
else
begin
insert into @palavras
values (@pos, substring(@texto, @pos, len(@texto) - @pos + 1))

set @pos = len(@texto) + 1
end
end

-- aqui voce trata o retorno, formado na qual será impresso
set @resultadoNome = (select top 1 valor from @palavras order by pos)
+' '+
(select top 1 valor from @palavras order by pos desc)

select @resultadoNome
Script para teste local. ;-)
Retorno: Renan Queiroz

Edição feita por: Renan L. Queiroz, 22/01/2010, 16:59.

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#3 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 17/09/2017, 23:42

150mg Viagra cialis online Propecia Patent
Cialis Filmtabletten Packungsbeilage Cephalexin 250 Mg 5 Ml
What Is Levitra Used For <a href=http://cialtobuy.com>cialis</a> Cialis Omline
Propecia Forehead Nizoral cheap cialis What Is Amoxicillin Used To Treat
Order Viagra From Canadian Pharmacy
Cialis Laboratorio Lilly <a href=http://cialtobuy.com>online pharmacy</a> Canadian Pharmacy Taking Paypal

#4 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 26/09/2017, 23:51

Propecia Flomax Brand Cialis Overnight Shipping cialis Buy Levitra?At A Discount
Viagra Danger Mrsa Cephalexin Prix Cialis Vidal cialis Levitra 40 Mg Best Price
Costo Levitra In Italia Buy Ramapril Without Prescription cialis Fluoxetine Want To Buy Medicine Cialis 20mg Angebot

#5 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 06/10/2017, 04:41

Vpxlgenericindia European Med Online Meloxicam vardenafil bestellen Flagyl Antibiotics
Prix Cialis Prix Cialis 4cpr Riv 10mg levitra sample online pharmacy Propecia Potenzprobleme
Levitra. Brand Name Bayer.. 20mg. levitra overnight delivery Pharmacy 365
Comprare Viagra Online Italia cialis levitra direct from india Ivermectin 90 Pills Cialis Venta En Farmacias Propecia 25mg Hair

#6 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 21/10/2017, 23:36

Priligy 60 Mg Tablets cheapest brand name levitra Cialis Generico Consigli
Acheter Cialis Effet Private Prescription For Ciprofoxacin buy viagra online Viagra Lowest Price Canada

#7 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 26/10/2017, 16:57

Levitra Modo Empleo viagra Buy Accutane 30 Mg
buy accutane 30 mg cialis 500mg Amoxil Buy Celebrex Online Canada

#8 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 26/10/2017, 21:01

Purchasing Keflex Online Buy Nexium In Canada levitra on line 2061 Buy Malegra Dxt 130 Mg

#9 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 01/11/2017, 01:03

Levitra Sold Over The Counter cialis levitra sales viagra Lasix Diuretic 100mg Kamagra Venta Con Receta
Where Can I Buy Onofin Pills viagra online prescription Isotretinoin roaccutane how to buy Secure Ordering Stendra Where To Buy Cheapeast Paxil

#10 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 11724 posts

Posted 22/11/2017, 07:43

Tablette Levitra Cytotec Vaginal Side Effects viagra Where Can I Buy Alli CanadРÑÐ¡Ñ Cialis Preise Schweiz
Propecia Partir Viagra 50mg Preis cialis Propecia Capsule Finasteride 1mg
Order Topamax Pay Pal online pharmacy Propecia Discount Hair Loss Discount Secure Ordering Stendra Avanafil Next Day Internet Durer Plus Longtemps Pendant Les Rapports Sexuels Naturellement




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq