Pourquoi SELECT 1/2 renvoie 0?


Réponses:


29

Ce sont des entiers.

Essayer:

select 1.0/2.0;

Ou:

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

14

Premièrement, vous exécutez les nombres sous forme d'entiers, mais deuxièmement, vous n'avez pas non plus défini la précision et l'échelle du type de données numérique .

Essaye ça:

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

ou même

SELECT CONVERT(NUMERIC(5, 2), 1/2.0)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.