none
Resultado de uma query RRS feed

  • Pergunta

  • Boa tarde..

    Tenho a query abaixo e estava funcionando perfeitamente ate alguns dias atras, agora quando estou executando ela me aparece a mensagem abaixo.

    Segue a query

    SELECT DISTINCT 
        SE.E1_NUM AS NOTA,
        SE.E1_NOMCLI  AS CLIENTE,
        SC.C6_DESCRI  AS PRODUTO,
        SE.E1_VALOR   AS PARCELA,
        CAST(((SE.E1_VALOR / SF.F2_VALBRUT) * (SF.F2_VALBRUT - (SF.F2_VALIPI + SF.F2_VALICM + SF.F2_VALIMP5 + SF.F2_VALIMP6))) AS numeric(18,4)) AS PARIMPOSTO,
        CONVERT(VARCHAR(10), CAST(SE.E1_BAIXA AS DATE), 103) AS VENCIMENTO,
        SC.C6_PRCVEN  AS VENDA,
        SC.C6_XPRCDJ  AS PRECOMAXIMOVENDA,
        SA.A3_COMIS   AS COMISSAOVENDEDOR,
        CAST(case when SC.C6_XPRCDJ = 0 then 0 
        else case when ((SC.C6_PRCVEN / SC.C6_XPRCDJ) * SA.A3_COMIS) > 10 then 10 
        else ((SC.C6_PRCVEN / SC.C6_XPRCDJ) * SA.A3_COMIS) end end AS NUMERIC(18,4)) AS COMISSAO,
        (((SE.E1_VALOR / SF.F2_VALBRUT) * (SF.F2_VALBRUT - (SF.F2_VALIPI + SF.F2_VALICM + SF.F2_VALIMP5 + SF.F2_VALIMP6))) * 
        (case when SC.C6_XPRCDJ = 0 then 0  else case when ((SC.C6_PRCVEN / SC.C6_XPRCDJ) * SA.A3_COMIS) > 10 then 10 
        else ((SC.C6_PRCVEN / SC.C6_XPRCDJ) * SA.A3_COMIS) end end)) /100 AS VALORAPAGAR
    FROM SE1010 AS SE
    LEFT JOIN SF2010 AS SF WITH (NOLOCK) ON SF.F2_DOC = SE.E1_NUM
    INNER JOIN SC6010 AS SC WITH (NOLOCK) ON SC.C6_NOTA = SE.E1_NUM
    INNER JOIN SA3010 AS SA WITH (NOLOCK) ON SA.A3_COD = SE.E1_VEND1
    WHERE SA.A3_NREDUZ = 'HOMEOTEC' AND CONVERT(varchar(10), SE.E1_BAIXA , 103) BETWEEN CONVERT(date, '01/03/2019' , 103) AND CONVERT(date, '31/03/2019' , 103)
    AND SE.D_E_L_E_T_ <> '*' AND SF.D_E_L_E_T_ <> '*' AND SC.D_E_L_E_T_ <> '*' AND SA.D_E_L_E_T_ <> '*' AND SE.E1_STATUS = 'B'
    ORDER BY SE.E1_NUM

    Segue o resultado..

    Mensagem 245, Nível 16, Estado 1, Linha 1

    Falha ao converter o varchar valor '22.31   ' para o tipo de dados int.

    Desde já agradeço


    JUNIOR GUERREIRO T.I

    quinta-feira, 4 de abril de 2019 19:15

Respostas

  • Deleted
    quinta-feira, 4 de abril de 2019 20:43
  • Pela mensagem: Falha ao converter o varchar valor '22.31   ' para o tipo de dados int.

    Sugiro que antes de converter o valor utilize LTRIM e RTRIM para remover os espaços, ficaria tipo o exemplo abaixo:

    select cast(RTRIM(LTRIM('22.31  ')) as numeric(18,4) valor

    sexta-feira, 5 de abril de 2019 12:57

Todas as Respostas

  • Deleted
    quinta-feira, 4 de abril de 2019 20:43
  • Pela mensagem: Falha ao converter o varchar valor '22.31   ' para o tipo de dados int.

    Sugiro que antes de converter o valor utilize LTRIM e RTRIM para remover os espaços, ficaria tipo o exemplo abaixo:

    select cast(RTRIM(LTRIM('22.31  ')) as numeric(18,4) valor

    sexta-feira, 5 de abril de 2019 12:57