Problema na Concatenação de Campos no SQL SERVER 2008R2

14/08/2013

0

Bom dia,

Eu estou tentando concatenar dois campos na minha tabela de endereços, esses dois campos seriam: Logradouro e Endereço.

O select é: SELECT CdLog + ' ' +Ender FROM EndCli

Ao invés de resultar isso: AV Paulista
O resultado é esse: AV

Eu notei que esse campo Ender não aparece com nenhum campo, ele só aparece no resultado se eu der um SELECT Ender, CdLog... FROM EndCli, ou seja, sem fazer concatenação nenhuma.

Obs: Os dois campo são do tipo: VARCHAR.

Obrigado.
Wylliam

Wylliam

Responder

Post mais votado

14/08/2013

Isso, na verdade o CdLog é o Código do Logradouro. Ex: AV, R, EST, etc...

Wylliam

Wylliam
Responder

Mais Posts

14/08/2013

Rodrigo Lacerda

Pelo que você disse deve ser algum erro no código... posso estar errado , mas poderia colocar o codigo aqui para verificarmos?

Att
Responder

14/08/2013

Wylliam

O select que eu faço no Microsoft SQL Management Studio é


SELECT CdLog+' '+Ender
FROM EndCli
WHERE NrContrCli = '200300418726'
Responder

14/08/2013

Wylliam

O select que eu faço no Microsoft SQL Management Studio é


SELECT CdLog+' '+Ender
FROM EndCli
WHERE NrContrCli = '200300418726'


O problema está na hora de fazer o select no SGBD, eu ainda não testei a query no código do meu programa.
Responder

14/08/2013

Deivison Melo

Em algumas situações talvez seja necessário fazer um cast nos campos que estão sendo concatenados...

Pesquisa sobre concatenação de campos com o SQL Server...

Dá uma olhadinha no exemplo do link abaixo:

http://social.msdn.microsoft.com/Forums/sqlserver/pt-BR/e63ad5f6-7898-4c30-a6ec-9e5b9de2871f/concatenar-no-sql-server
Responder

14/08/2013

Wylliam

Os dois campo são:

CdLog: VARCHAR(10)
Ender: VARCHAR(40)

Não seria questão de incompatibilidade de tipos, mas por desencargo eu fiz assim:

SELECT (CONVERT(VARCHAR(40), CdLog)+' '+CONVERT(VARCHAR(40), Ender)) AS Endereço
FROM EndCli
WHERE NrContrCli = '200300418726'

e

SELECT (CAST(CdLog AS VARCHAR(40))+' '+CAST(Ender AS VARCHAR(40))) AS Endereço
FROM EndCli
WHERE NrContrCli = '200300418726'

Mas o problema persiste.

Obrigado.
Responder

14/08/2013

Gabriel Simas

Wylliam,

Tente utilizar parenteses como no exemplo abaixo, eu sempre uso desta forma e funciona:

SELECT (LastName + ', ' + FirstName) AS Name
FROM Person.Person
Responder

14/08/2013

Wylliam

Tentei assim:

SELECT (CdLog+' '+Ender) As Endereço
FROM EndCli
WHERE NrContrCli = '200300418726'

Não funcionou também.
Responder

14/08/2013

Gabriel Simas

Tentei assim:

SELECT (CdLog+' '+Ender) As Endereço
FROM EndCli
WHERE NrContrCli = '200300418726'

Não funcionou também.


Wyll,

Posta a mensagem de erro pra gente por favor.

Forte Abraço
Responder

14/08/2013

Wylliam

Então, na verdade não tem mensagem de erro. A query apenas tras o valor do campo CdLog.


Obs: Tanto o CdLog e o Ender contem valores.
Responder

14/08/2013

Alex Lekao

Ola Wyllian, boa tarde!!!

Experimenta colocar uma virgula no exemplo da concatenacao para ver se resolve.

Era para ter funcionado.

Em todo caso estou testando com minha base aqui da empresa que temos campos parecidos com o seu, e posto aqui ja ja o codigo que fiz e se funcionou.

Abraco.
Responder

14/08/2013

Wylliam

Cara, nem a virgula aparece....

SELECT (CdLog+','+Ender) As Endereço
FROM EndCli
WHERE NrContrCli = '200300418726'

Só me retornou o campo CdLog que é "R" para esse fulano ai...
Responder

14/08/2013

Alex Lekao

Ola Wylliam,

Muito estranho o que esta acontecendo.

Aqui no meu teste apareceu tudo normal, com espaco entre as aspas, sem espaco, com uma virgula, com dois pontos.

no meu caso os dois campos que usei, bairro e endereco, sao varchar()60.

O codigo eh exatamente este que vc postou?
Responder

14/08/2013

Wylliam

Sim, exatamente esse.

Não passa por minha cabeça como isso pode ocorrer
Responder

14/08/2013

Alex Lekao

tambem nao passsa nada pela minha cabeca.

o codlog eh o logradouro certo? avenida, alameda, etc?

experimente usar o substr para ver se da certo.
Responder

14/08/2013

Alex Lekao

eh... foi isto mesmo que quis dizer... rsrsr
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar