Ir para conteúdo
Fórum Script Brasil
  • 0

Converter VARCHAR para Numérico


Vinicius Schuh

Pergunta

Salve Galera do Fórum!

Estou com um pequeno problema que não consegui resolver ainda. Tenho o campo NO_Documento(dbo.tblPlano_contas_movimento.NO_Documento) que é do tipo Varchar(12) e preciso converte-lo para numérico alguém pode me dar uma luz de como fazer?

Esse é o meu script:

SELECT
    dbo.tblPlano_contas_movimento.DT_Previsao AS DT_Previsao, 
    dbo.tblPlano_contas_movimento.NO_Documento,
    dbo.[Contas Correntes].NúmeroDaAgência, 
    dbo.[Contas Correntes].NomeDaConta,
    dbo.[Contas Correntes].NúmeroDaConta, 
    dbo.tblPlano_contas_movimento.DS_Complemento AS DS_Complemento, 
    dbo.tblPlano_contas_movimento.VL_Lancamento * -1 AS VL_Lancamento, 
    dbo.tblPlano_contas_movimento.DT_Pagamento AS DT_Pagamento,
    dbo.tblPlano_contas_movimento.CD_Conta AS CONTA, 
    dbo.tblPlano_contas_movimento.DT_Lancamento AS DT_Lancamento, 
    dbo.[Contas Correntes].NO_Banco
FROM
    dbo.tblPlano_contas_movimento 
RIGHT OUTER JOIN
    dbo.[Contas Correntes] ON dbo.tblPlano_contas_movimento.CD_Conta = dbo.[Contas Correntes].CD_Conta_Apagar
WHERE    
    (dbo.tblPlano_contas_movimento.VL_Lancamento < 0) AND (dbo.[Contas Correntes].CÓDIGODACONTA <> 0) 
ORDER BY
    dbo.tblPlano_contas_movimento.NO_Documento, dbo.[Contas Correntes].NúmeroDaAgência

Desde já agradeço, boa semana a todos! :lol:

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde Vinicius,

você poderá fazer a conversão para inteiro ou decimal, mas no campo a converter só poderá conter números.

SELECT
    dbo.tblPlano_contas_movimento.DT_Previsao AS DT_Previsao,
    cast (dbo.tblPlano_contas_movimento.NO_Documento AS integer),
    dbo.[Contas Correntes].NúmeroDaAgência,
    dbo.[Contas Correntes].NomeDaConta,
    dbo.[Contas Correntes].NúmeroDaConta,
    dbo.tblPlano_contas_movimento.DS_Complemento AS DS_Complemento,
    dbo.tblPlano_contas_movimento.VL_Lancamento * -1 AS VL_Lancamento,
    dbo.tblPlano_contas_movimento.DT_Pagamento AS DT_Pagamento,
    dbo.tblPlano_contas_movimento.CD_Conta AS CONTA,
    dbo.tblPlano_contas_movimento.DT_Lancamento AS DT_Lancamento,
    dbo.[Contas Correntes].NO_Banco
FROM
    dbo.tblPlano_contas_movimento
RIGHT OUTER JOIN
    dbo.[Contas Correntes] ON dbo.tblPlano_contas_movimento.CD_Conta = dbo.[Contas Correntes].CD_Conta_Apagar
WHERE    
    (dbo.tblPlano_contas_movimento.VL_Lancamento < 0) AND (dbo.[Contas Correntes].CÓDIGODACONTA <> 0)
ORDER BY
    2, dbo.[Contas Correntes].NúmeroDaAgência

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Vinicius,

Segue um exemplo. Rode o select separadamente para ver os resultados, ok?

DECLARE @Conta VARCHAR(10)

SET @Conta= '2255669-9'

-- Conversão dá errado porque tem caracter
SELECT CAST (@Conta AS integer)

-- Assim dá certo
SELECT CAST (replace(@Conta, '-', '') AS integer)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...