SQL SERVER ARREDONDANDO AUTOMATICAMENTE - URGENTE
02/12/2013
0
consulta automaticamente... O cálculo que estou fazendo não pode ser arredondado. Como posso fazer? Vejam os exemplos:
Exemplo 01:
DECLARE @NAX DECIMAL(38,31) = 32;
DECLARE @MDX DECIMAL(38,31) = 44.26;
DECLARE @DPX DECIMAL(38,31) = 8.63;
SELECT (((@NAX-@MDX)/@DPX)*8)+40 as XCALC
A consulta retorna o valor 28,635000
EXEMPLO 02:
Tentei realizar a consulta sem a utilização de variáveis para ver se ele retornava algo diferente, porém, foi retornado o mesmo valor
SELECT (((32-44.26)/8.63)*8)+40
A consulta retorna o valor 28,635000
Eu preciso que ele retorne o real valor da operação, sem efetuar arredondamentos. Fiz a operação na calculadora e no excel
e o resultado obtido é 28,63499421
Alguém pode me ajudar?
Andre Fernandes
Posts
02/12/2013
Fabiano Carvalho
SELECT (((32.000-44.260)/8.630)*8.)+40.00
02/12/2013
Isaac Jose
declare @nax decimal(18,3) = 32
declare @mdx decimal (18,3)=44.26
declare @dpx decimal (18,3)=8.63
select (((@nax-@mdx )/@dpx)*8)+40 as calc
resultado
calc
28.63499420625724218
02/12/2013
Andre Fernandes
Sabe me dizer porque o SQLSERVER arredonda o resultado da operação matemática da SQL?
SELECT (((32.000-44.260)/8.630)*8.)+40.00
02/12/2013
Fabiano Carvalho
02/12/2013
Andre Fernandes
Quando utilizo DECIMAL(18,3), significa dizer que poderei utilizar 15 casas antes da vírgula e 3 depois (decimais)?
Optei por (38,31) com o propósito de aumentar a quantidade de casas decimais (7 antes da vírgula e 31 depois), mas acho que estou equivocado...
Como funciona estes parâmetros para o DECIMAL?
declare @nax decimal(18,3) = 32
declare @mdx decimal (18,3)=44.26
declare @dpx decimal (18,3)=8.63
select (((@nax-@mdx )/@dpx)*8)+40 as calc
resultado
calc
28.63499420625724218
02/12/2013
Isaac Jose
Quando utilizo DECIMAL(18,3), significa dizer que poderei utilizar 15 casas antes da vírgula e 3 depois (decimais)?
Optei por (38,31) com o propósito de aumentar a quantidade de casas decimais (7 antes da vírgula e 31 depois), mas acho que estou equivocado...
Como funciona estes parâmetros para o DECIMAL?
declare @nax decimal(18,3) = 32
declare @mdx decimal (18,3)=44.26
declare @dpx decimal (18,3)=8.63
select (((@nax-@mdx )/@dpx)*8)+40 as calc
resultado
calc
28.63499420625724218
sim...
segue para eventuais duvidas... http://msdn.microsoft.com/pt-br/library/ms187746.aspx
10/12/2013
Alex Lekao
nunca tinha pensado nisso... rsrsrsr
valeu, mais uma que aprendi... rsrsr
Clique aqui para fazer login e interagir na Comunidade :)