Usuário com melhor resposta
Select retornando somente parte da string

Pergunta
-
Boa tarde,
Estou desenvolvendo um sistema em ASP para controle de acesso em um evento que vamos fazer aqui na empresa. O sistema está pronto e preciso agora confeccionar os crachás. O problema é que DEDICIRAM em cima da hora que o nome completo da pessoa não deve aparecer no crachá, somente o primeiro e o último nome.
Para a confecção, estou fazendo etiquetas, que serão coladas no crachá. Fiz estas etiquetas no Word (mala direta) que busca a seguinte view no MySQL:
SELECT dbo.TBPessoas.CodigoPessoa, dbo.TBPessoas.CodigoFranquia AS Expr1, dbo.TBPessoas.NomeCompletoPessoa, dbo.TBPessoas.CargoPessoa, dbo.TBPessoas.TurmaPessoa, dbo.TBPessoas.CidadePessoa, dbo.TBPessoas.DocPessoa, dbo.TBPessoas.CrachaPessoa, dbo.TBLocalidades.CodigoCidade, dbo.TBLocalidades.NomeEstado, dbo.TBLocalidades.NomeCidade, dbo.TBLocalidades.TipoCidade, dbo.TBDeptos.* FROM dbo.TBPessoas INNER JOIN dbo.TBLocalidades ON dbo.TBPessoas.CidadePessoa = dbo.TBLocalidades.CodigoCidade INNER JOIN dbo.TBDeptos ON dbo.TBPessoas.CargoPessoa = dbo.TBDeptos.CodigoDepto
Como podem ver, esta view busca dados em três tabelas: TBPessoas (onde estão cadastrados os dados da credencial), TBLocalidades, onde estão as Cidades e TBDeptos, onde estão os departamentos.
O foco na verdade é a tabela TBPessoas, que tem o campo NomeCompletoPessoa, que pelo próprio nome já dá pra saber que tem o nome completo da credencial.
O grande problema é que no crachá não poderá aparecer José Joaquim da Silva Xavier, por exemplo. Neste caso teria que aparecer somente o primeiro e ultimo nome: José Xavier
Tem alguma forma de fazer com que o Select retorna somente a Primeira e a Última palavra do campo NomeCompletoPessoa?
No aguardo,
Respostas
-
Experimente utilizar algumas funções do sql como substring e charindex, faça como no exemplo abaixo que vai funcionar:
Create table #nomes (Nome varchar(800)) insert into #nomes values ('José Joaquim da Silva Xavier') select substring(Nome,1,CHARINDEX(' ',Nome)) + ' ' + Reverse(substring(REVERSE(Nome),1,CHARINDEX(' ',REVERSE(Nome)))) from #nomes
Alexandre Matayosi Conde Mauricio.
- Sugerido como Resposta Samuel Rodrigues dos Anjos terça-feira, 26 de março de 2013 23:50
- Marcado como Resposta Eder Pardeiro TI quarta-feira, 27 de março de 2013 20:21
Todas as Respostas
-
Experimente utilizar algumas funções do sql como substring e charindex, faça como no exemplo abaixo que vai funcionar:
Create table #nomes (Nome varchar(800)) insert into #nomes values ('José Joaquim da Silva Xavier') select substring(Nome,1,CHARINDEX(' ',Nome)) + ' ' + Reverse(substring(REVERSE(Nome),1,CHARINDEX(' ',REVERSE(Nome)))) from #nomes
Alexandre Matayosi Conde Mauricio.
- Sugerido como Resposta Samuel Rodrigues dos Anjos terça-feira, 26 de março de 2013 23:50
- Marcado como Resposta Eder Pardeiro TI quarta-feira, 27 de março de 2013 20:21
-