none
Error converting data type varchar to numeric. RRS feed

  • Pergunta

  • Bom Dia, 

    estou com a seguinte query:

                      

    SELECT par.store,
          par.[pedido]
          ,case when par.pedido = cfv.PEDIDO then SUM(par.price) else 'pa.price' end preço
          ,par.[date]
          ,par.category
          ,CFV.VENCIMENTO_1

      FROM [data_warehouse].[dbo].[pedidos_abertos] par

      left join skina.dbo.W_COMPRAS_01_FORNECEDOR_VENCIMENTO CFV

      on CFV.PEDIDO = par.pedido


      where LEFT(par.[date],11)>= '2015-10-31'


      group by 
           par.[store]
          ,par.[pedido]
         ,par.[date]
          ,par.[category]
          ,(CFV.VENCIMENTO_1)
          ,par.price
          ,CFV.PEDIDO

    e eta retornando o seguindo erro :

    Mensagem 8114, Nível 16, Estado 5, Linha 1
    Error converting data type varchar to numeric.

    Nao comprendo uma vez que a linha 1, que seria store sao siglas das lojas tais ' GL' 'Ma' 'OU' 

    alguem pode me ajudar ?

    att

    terça-feira, 15 de dezembro de 2015 11:56

Respostas

  • Bom dia,

    Desconfio que o erro está ocorrendo na parte da sua query onde está o Case, já que quando a condição é verdadeira é retornado um valor numérico (o Sum) e quando é falsa é retornado um valor alfanumérico ('pa.price').

    Para verificar essa possibilidade, experimente substituir o 'pa.price' por 0.

    Espero que ajude. 


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta Marcos SJ terça-feira, 15 de dezembro de 2015 15:49
    terça-feira, 15 de dezembro de 2015 12:17

Todas as Respostas

  • Bom dia,

    Desconfio que o erro está ocorrendo na parte da sua query onde está o Case, já que quando a condição é verdadeira é retornado um valor numérico (o Sum) e quando é falsa é retornado um valor alfanumérico ('pa.price').

    Para verificar essa possibilidade, experimente substituir o 'pa.price' por 0.

    Espero que ajude. 


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta Marcos SJ terça-feira, 15 de dezembro de 2015 15:49
    terça-feira, 15 de dezembro de 2015 12:17
  • Bom dia Julia,

    O problema esta no seu CASE, o case pode retornar apenas um tipo de dado para todas as condições, no seu caso ele pode retornar tanto um valor numérico quanto um varchar, acredito que o problema esta no ELSE do CASE onde esta 'pa.price'  retire os apóstrofos.

    Att

    Reginaldo Silva

    terça-feira, 15 de dezembro de 2015 12:50