Pegar Nome E Sobrenome Do Campo Nome Completo
Started By Xenofonte, 20/05/2009, 16:44
10 replies to this topic
#1
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!
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!
- RonsisM likes this
#2
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:
O retorno quando passado como parâmetro "Renan Lemes Queiroz":
Exemplo de funcionamento local:
Adaptado para sua necessidade, podendo torná-la em uma função.
Retorno: Renan Queiroz
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))Assim você pode manipular os registros através do VBScript!!
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
O retorno quando passado como parâmetro "Renan Lemes Queiroz":
pos | valor |
---|---|
1 | Renan |
7 | Lemes |
13 | Queiroz |
Exemplo de funcionamento local:
Adaptado para sua necessidade, podendo torná-la em uma função.
/* variaveis de teste */Script para teste local.
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
Retorno: Renan Queiroz
Edição feita por: Renan L. Queiroz, 22/01/2010, 16:59.
- JeffMalm likes this
Especialidade: Desenvolvimento e Banco de Dados.
Este post lhe ajudou? Agradeça:
#3
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
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
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
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
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
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
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
Acheter Cialis Effet Private Prescription For Ciprofoxacin buy viagra online Viagra Lowest Price Canada
#8
Posted 26/10/2017, 21:01
Purchasing Keflex Online Buy Nexium In Canada levitra on line 2061 Buy Malegra Dxt 130 Mg
#9
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
Where Can I Buy Onofin Pills viagra online prescription Isotretinoin roaccutane how to buy Secure Ordering Stendra Where To Buy Cheapeast Paxil
#10
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
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
#11
Posted 25/01/2023, 14:17
Department of Pharmacology, New York Medical College, Valhalla, NY 10595 buy cheap generic cialis online
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)