Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Fernandes dos Santos

Dar espaços definido dentro da consulta

Recommended Posts

Pessoal boa tarde, final de dia e eu aqui ainda quebrando a cabeça.

 

 

Pessoal tenho uma consulta que é a seguinte:

select descAplicacao + ' ' + LadoMedida from aplicacao 

que me retorna os seguintes dados:

 

MOLA DIANTEIRA 4 LE

MOLA SUPERIOR OPALA LE

MOLA DIANTEIRA MONZA 9 SUPERIOR

MOLA DIANTEIRA MONZA 2000 SUPERIOR

 

 

O que eu quero e dar espaços para o campo LadoMedida(que esta em negrito) da consulta ficar alinhado

 

MOLA DIANTEIRA 4 LE

MOLA SUPERIOR OPALA LE

MOLA DIANTEIRA MONZA 9 SUPERIOR

MOLA DIANTEIRA MONZA 2000 SUPERIOR

 

 

Alguêm tem alguma idéia?

 

Obs: tem que ser retorna na mesma célula, pois carrego essa consulta em uma pesquisa dentro de um textbox, ou seja,

aquela que o usuário vai digitando e aparecendo as opções...

 

 

Desde ja obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente usar a function SPACE.

 

 

Motta. obrigado pela resposta, mais ainda não cheguei no meu objetivo.

 

O problema é que o space começa a contar os espaços a partir do final do 1° campo, resultando no desalinhamento do 2° campo(LadoMedida)

 

 

Como faço para ele contar desde o começo do campo?

 

Pessoal com a dica que o Motta passou tentei fazer a consulta, mais ainda não deu certo,

vejam:

 

 

--Declaro uma variável para armazenas a qtde de letras da maior aplicação

DECLARE @LEN_MAIOR INT
SET @LEN_MAIOR = (SELECT MAX(LEN(descaplicacao)) FROM Aplicacao )

 

--Pego a variável criada anteriormente e tiro a qtde de tamanho da aplicação da linha e jogo dentro do space.

SELECT DescAplicacao + SPACE((@LEN_MAIOR - LEN(DESCAPLICACAO))) + LadoMedida  FROM Aplicacao 

 

Mais mesmo assim não ta dando certo o campo ladomedida ainda esta desalinhados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

algo como

 

select descAplicacao + ' ' + spsce(50 - len(LadoMedida)) + LadoMedida from aplicacao

 

não funciona ?

 

sendo 50 o tamanho requerido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

algo como

 

select descAplicacao + ' ' + spsce(50 - len(LadoMedida)) + LadoMedida from aplicacao

 

não funciona ?

 

sendo 50 o tamanho requerido.

 

 

 

Motta percebi que essa query:

 

DECLARE @LEN_MAIOR INT
SET @LEN_MAIOR = (SELECT MAX(LEN(descaplicacao)) FROM Aplicacao )
SELECT DescAplicacao + SPACE((@LEN_MAIOR - LEN(DESCAPLICACAO)) + 10) + LadoMedida  FROM Aplicacao

 

Quando executada no modo Result Text do Sql sai alinhada do jeito que eu quero, mais no modo

Result Grid ele fica desalinhado, você sabe se tem como eu mudar a forma do Result nessa consulta?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Joao,

no Result Grid ele pega 2 espaços em branco e troca para um só, qdo utilizado uma função de SPACE.

 

Isso no SQL 2005 e 2008.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho, acho, que você tem que alterar a propriedade TrimTrailingBlanks desta coluna.

 

Caso de uso:

 

 

http://forum.imasters.com.br/topic/428445-problemas-sql-server-2005/page__p__1691841___fromsearch__1#entry1691841

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta percebi que essa query:

 

DECLARE @LEN_MAIOR INT
SET @LEN_MAIOR = (SELECT MAX(LEN(descaplicacao)) FROM Aplicacao )
SELECT DescAplicacao + SPACE((@LEN_MAIOR - LEN(DESCAPLICACAO)) + 10) + LadoMedida  FROM Aplicacao

 

Quando executada no modo Result Text do Sql sai alinhada do jeito que eu quero, mais no modo

Result Grid ele fica desalinhado, você sabe se tem como eu mudar a forma do Result nessa consulta?

 

Não sei a diferença, mas será que não pode ser apenas uma questão de fonte ?

Tipo System ou Coureir New X Arial ou Times New Roman.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.