none
select não reconhece valor RRS feed

  • Pergunta

  • ola

    preciso com urgência da vossa ajuda:

    num campo nvarhcar(max) tenho o seguinte valor: " 15658"

    e estou a tentar fazer o seguinte select:

    select * from tabela where coluna1 = ' 15658'

    Mas não aparece nada.

    Como resolvo isto? estranho o select não retornar nada, pois o valore existe....

    Obrigado


    Visual Basic 2008 Express Edition SQL Server Management Studio

    segunda-feira, 7 de maio de 2012 11:32

Respostas

  • Bom dia Jonas,

    O caracter que esta antes dos números é um espaço mesmo?

    Tente copiar o conteudo e jogar no Notepad++ por exemplo para verificar o caracter.

    Neste caso tente executar o select com um like para verificar se a informação retorna também.

    select * from tabela where coluna1 like '%15658%'


    Adriano Nascimento

    segunda-feira, 7 de maio de 2012 12:59

Todas as Respostas

  • O raciocínio está completamente certo, veja se o nome da tabela ou coluna estão corretos e também se você está executando a query no banco certo, geralmente agente esquece de mudar o banco de execução e executa no "master", olha lá do lado esquerdo em cima em que BD você está executando a query.

    Em todo caso, se não resolver, coloca certinho aqui suas colunas e linhas e a query que está executando.

    Espero ter ajudado, abraços!

     

    thiagokoelho

    segunda-feira, 7 de maio de 2012 12:18
  • Thiago estou a executar tudo correcto. No banco certo e tudo...

    A query é a que está em cima. E a coluna1 está do tipo nvarchar(max)

    Esquecito né?


    Visual Basic 2008 Express Edition SQL Server Management Studio

    segunda-feira, 7 de maio de 2012 12:50
  • Bom dia Jonas,

    O caracter que esta antes dos números é um espaço mesmo?

    Tente copiar o conteudo e jogar no Notepad++ por exemplo para verificar o caracter.

    Neste caso tente executar o select com um like para verificar se a informação retorna também.

    select * from tabela where coluna1 like '%15658%'


    Adriano Nascimento

    segunda-feira, 7 de maio de 2012 12:59
  • Jonas, bom dia.

    Certifique-se que o seu valor realmente possui espaços em branco a esquerda ou a direita.

    Para garantir remova os espaços em branco utilizando RTRIM e LTRIM e na comparação coloque apenas o valor.

    Ex.

    select * from tabela where RTRIM(LTRIM(coluna1)) = '15658'


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 7 de maio de 2012 13:00
  • O like resolveu o assunto :) 

    valeu pessoal


    Visual Basic 2008 Express Edition SQL Server Management Studio

    segunda-feira, 7 de maio de 2012 14:20