none
Erro ao converter tipo de dados varchar em float RRS feed

  • Pergunta

  • Prezados,

    Boa tarde,

    Estou executando o seguinte script:

    SELECT
    CASE 
        WHEN [TIF].[CD_REGIME_TRIBUTAR_PISCOFINS] = '4' THEN [tif].[PC_ALIQ_REDUZIDA_PIS]
        ELSE [TAB_NCM].[ALIQUOTA_PIS_ADVAL]
    END AS ALIQ_PIS
    FROM ((((ItensFaturas AS ITF LEFT JOIN Tributacao_Item_Fatura AS tif ON (ITF.Empresa = tif.Empresa) AND (ITF.Filial = tif.Filial) AND (ITF.Processo = tif.Processo) AND (ITF.Fatura = tif.Fatura) AND (ITF.Sequencial = tif.Sequencial_Item)) LEFT JOIN Faturas ON (ITF.Empresa = Faturas.Empresa) AND (ITF.Filial = Faturas.Filial) AND (ITF.Processo = Faturas.Processo) AND (ITF.Fatura = Faturas.Codigo)) LEFT JOIN Processos_Taxas_Conversao AS PTC ON (Faturas.Moeda = PTC.Moeda) AND (Faturas.Processo = PTC.Processo)) LEFT JOIN Parametros ON (ITF.Empresa = Parametros.Empresa) AND (ITF.Filial = Parametros.Filial)) INNER JOIN TAB_NCM ON ITF.NCM = TAB_NCM.CODIGO
    where (((ITF.Empresa)='1') AND ((ITF.Filial)='RJO') AND ((ITF.Processo)='00001/09'))
    
    que está me retorna do erro: "Mensagem 8114, Nível 16, Estado 5, Linha 1
    Erro ao converter tipo de dados varchar em float."

    o campo PC_ALIQ_REDUZIDA_PIS é do tipo float
    o campo ALIQUOTA_PIS_ADVAL é o tipo varchar

    Duas perguntas:
    1- Porque o campo ALIQUOTA_PIS_ADVAL está sendo convertido para float?
    2- Porque quando utilizo o cast no campo ALIQUOTA_PIS_ADVAL para o transformar para o float também não está conertendo e apresentando o mesmo erro?

    Neste caso realmente eu preciso que todos os registro deste campo seja do tipo float.

    Agradeço a atenção...

    Sandro Roberto Marinho Rassy

    rassy
    quinta-feira, 30 de abril de 2009 20:15

Respostas

  • Você tem certeza que o erro está sendo gerado nas colunas de retorno?

    As colunas envolvidas nos JOINS e no WHERE são todas do mesmo tipo em ambos os lados da comparação?

     

    • Editado Alex Rosa quinta-feira, 30 de abril de 2009 21:46
    • Marcado como Resposta rassy terça-feira, 6 de outubro de 2009 20:34
    quinta-feira, 30 de abril de 2009 21:42

Todas as Respostas

  • Você tem certeza que o erro está sendo gerado nas colunas de retorno?

    As colunas envolvidas nos JOINS e no WHERE são todas do mesmo tipo em ambos os lados da comparação?

     

    • Editado Alex Rosa quinta-feira, 30 de abril de 2009 21:46
    • Marcado como Resposta rassy terça-feira, 6 de outubro de 2009 20:34
    quinta-feira, 30 de abril de 2009 21:42
  • Rassy,

    Concordo com Alex, tendo como base a mensagem de erro do seu SQL Server!!!!


    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    segunda-feira, 4 de maio de 2009 12:46