-2
I have a sql query is want to bring the PRECO_LIQUIDO information formatted as decimal using a cast decimal (12, 2) How could it be done, thank you
select
--calculo do desconto individual
((P.DESCONTO01 / 100 ) * P.PRECO )+
((P.DESCONTO02 / 100 ) * P.PRECO )+
((P.DESCONTO03 / 100 ) * P.PRECO )+
((P.DESCONTO04 / 100 ) * P.PRECO ) AS PRECO_LIQUIDO,
case (P.ADICIONAL_ESTADO )
when 'S' then
(2.0 / 100 ) * P.PRECO --0 é o valor do desconto para o estado caso tenha vai receber um valor
when 'N' then (P.DESCONTO05 / 100 ) * PRECO
END AS PRECO_LIQUIDO_ESTADO,
--calculo do desconto individual promoção
((P.DESCONTO01 / 100 ) * P.PROMOCAO ) +
((P.DESCONTO02 / 100 ) * P.PROMOCAO ) +
((P.DESCONTO03 / 100 ) * P.PROMOCAO ) +
((P.DESCONTO04 / 100 ) * P.PROMOCAO ) AS PRECO_LIQUIDO_PROMOCAO,
case (P.ADICIONAL_ESTADO )
when 'S' then (0 / 100 ) * P.PROMOCAO --0 é o valor do desconto para o estado caso tenha vai receber um valor
when 'N' then (P.DESCONTO05 / 100 ) * P.PROMOCAO
END AS PRECO_LIQUIDO_PROMOCAO_ESTADO,
P.*
from TB_PRODUTO P
WHERE p.CODIGO IS NOT NULL
After the posted answer was like this: missed cast for case (P.ADICIONAL_ESTADO )
select
--calculo do desconto individual
CAST(ISNULL (((P.DESCONTO01 / 100 ) * P.PRECO )+
((P.DESCONTO02 / 100 ) * P.PRECO )+
((P.DESCONTO03 / 100 ) * P.PRECO )+
((P.DESCONTO04 / 100 ) * P.PRECO ),0) AS decimal(12, 2)) AS PRECO_LIQUIDO,
case (P.ADICIONAL_ESTADO )
when 'S' then (0 / 100 ) * P.PRECO --0 é o valor do desconto para o estado caso tenha vai receber um valor
when 'N' then (P.DESCONTO05 / 100 ) * PRECO
END AS PRECO_LIQUIDO_ESTADO,
--calculo do desconto individual promoção
CAST(ISNULL (((P.DESCONTO01 / 100 ) * P.PROMOCAO )+
((P.DESCONTO02 / 100 ) * P.PROMOCAO ) +
((P.DESCONTO03 / 100 ) * P.PROMOCAO ) +
((P.DESCONTO04 / 100 ) * P.PROMOCAO ) ,0) AS decimal(12, 2)) AS PRECO_LIQUIDO_PROMOCAO,
case (P.ADICIONAL_ESTADO )
when 'S' then (0 / 100 ) * P.PROMOCAO --0 é o valor do desconto para o estado caso tenha vai receber um valor
when 'N' then (P.DESCONTO05 / 100 ) * P.PROMOCAO
END AS PRECO_LIQUIDO_PROMOCAO_ESTADO,
P.*
from TB_PRODUTO P
WHERE p.CODIGO IS NOT NULL
@Marconciliosouza duplicated in loop does not roll
– gmsantos