Por que SELECT 1/2 retorna 0?


Respostas:


29

Eles são inteiros.

Experimentar:

select 1.0/2.0;

Ou:

select CONVERT(NUMERIC,1)/CONVERT(NUMERIC,2);

14

Primeiro, você está executando os números como números inteiros, mas segundo, também não definiu a precisão e a escala do tipo de dados numérico .

Tente o seguinte:

SELECT CONVERT(NUMERIC(5, 2), 1.0/2.0)

ou mesmo

SELECT CONVERT(NUMERIC(5, 2), 1/2.0)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.