none
Conversão Tipo de dados RRS feed

  • Pergunta

  • Bom dia,

    Galera!

    Será que podem ajudar, tenho a seguinte Query abaixo que quanto rodo na minha ferramenta de relatório exibe a seguinte mensagem:

    SELECT	
    	INF.ProdCodEstr, 
    	INF.ItNFProdNome,
    	SUM(CLLAINF.CtrlLoteLocArmItNFQtd) AS CtrlLoteLocArmItNFQtd,	
        ELA.EstqLocArmazLocaliz,
        (P.USERAcondProd / SUM(CLLAINF.CtrlLoteLocArmItNFQtd))  AS Paletes
        
    FROM	
    	NOTA_FISCAL NF WITH(NOLOCK), 
    	ITEM_NF INF WITH(NOLOCK), 
    	ENTIDADE E WITH(NOLOCK),
    	CTRL_LOTE_LOC_ARM_IT_NF CLLAINF WITH(NOLOCK),
    	PROD_UNID_MED PUM WITH(NOLOCK),
        ESTQ_LOC_ARMAZ ELA WITH(NOLOCK),
        Produto P WITH(NOLOCK)
        
    WHERE	
    
    	NF.NFDataEmis >= '20170223'
    AND	NF.NFDataEmis <= '20170223'
    AND	NF.EmpCod = 1
    AND	NF.NFCancelada = 'Não'
    AND	NF.EmpCod = INF.EmpCod
    AND	NF.CtrlDFModForm = INF.CtrlDFModForm
    AND	NF.CtrlDFSerie = INF.CtrlDFSerie
    AND	NF.NFNum = INF.NFNum
    AND	NF.NFTranspEntCod = E.EntCod
    AND	INF.EmpCod = CLLAINF.EmpCod
    AND	INF.CtrlDFModForm = CLLAINF.CtrlDFModForm
    AND	INF.CtrlDFSerie = CLLAINF.CtrlDFSerie
    AND	INF.NFNum = CLLAINF.NFNum
    AND	INF.ItNFSeq = CLLAINF.ItNFSeq
    AND 	INF.ProdCodEstr = PUM.ProdCodEstr
    AND 	PUM.ProdUnidMedCod = 'CX'
    AND     CLLAINF.ProdCodEstr = ELA.ProdCodEstr
    AND     NF.EmpCod = ELA.EmpCod
    AND     ELA.LocArmazCodEstr = CLLAINF.LocArmazCodEstr 
    AND     P.ProdCodEstr = INF.ProdCodEstr
    GROUP BY INF.ProdCodEstr, INF.ItNFProdNome, ELA.EstqLocArmazLocaliz,P.USERAcondProd 
    ORDER BY   (P.USERAcondProd / SUM(CLLAINF.CtrlLoteLocArmItNFQtd))   Desc
    

    quinta-feira, 23 de fevereiro de 2017 14:08

Respostas

  • A partir do SQL Server 2012 você pode utilizar a função Format:

        FORMAT(P.USERAcondProd / SUM(CLLAINF.CtrlLoteLocArmItNFQtd), 'N2')  AS Paletes

    Nas versões anteriores experimente dessa forma:

        convert(varchar(50), cast(P.USERAcondProd / SUM(CLLAINF.CtrlLoteLocArmItNFQtd) as money), 1) AS Paletes

    Espero que ajude


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


    • Editado gapimex quinta-feira, 23 de fevereiro de 2017 15:10
    • Marcado como Resposta Leandro Massena Moraes quinta-feira, 23 de fevereiro de 2017 16:12
    quinta-feira, 23 de fevereiro de 2017 15:09

Todas as Respostas

  • Bom dia,

    Leandro, acredito que seria melhor fazer a alteração na sua ferramenta de relatório, mas se você realmente quiser fazer isso na query experimente dessa forma:

        CAST(P.USERAcondProd / SUM(CLLAINF.CtrlLoteLocArmItNFQtd) AS VARCHAR(50))  AS Paletes

    Espero que ajude


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

    quinta-feira, 23 de fevereiro de 2017 14:22
  • Bom dia,

    Gapimex, não consigo alterar na ferramenta de relatório porque é uma ferramenta de terceiro, fiz um teste da forma que você informou e foi satisfatório, consigo formatar para apresentar o resultado desta coluna com duas casas após a vírgula?

    quinta-feira, 23 de fevereiro de 2017 14:55
  • A partir do SQL Server 2012 você pode utilizar a função Format:

        FORMAT(P.USERAcondProd / SUM(CLLAINF.CtrlLoteLocArmItNFQtd), 'N2')  AS Paletes

    Nas versões anteriores experimente dessa forma:

        convert(varchar(50), cast(P.USERAcondProd / SUM(CLLAINF.CtrlLoteLocArmItNFQtd) as money), 1) AS Paletes

    Espero que ajude


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


    • Editado gapimex quinta-feira, 23 de fevereiro de 2017 15:10
    • Marcado como Resposta Leandro Massena Moraes quinta-feira, 23 de fevereiro de 2017 16:12
    quinta-feira, 23 de fevereiro de 2017 15:09
  • Obrigado mais uma vez, é justamente o que eu precisava,

    abs,

    Leandro Massena

    quinta-feira, 23 de fevereiro de 2017 16:12