Jump to content
Fórum Script Brasil
  • 0

Converter VARCHAR para Numérico


Question

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 to post
Share on other sites

5 answers to this question

Recommended Posts

  • 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 to post
Share on other 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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148865
    • Total Posts
      644863
×
×
  • Create New...