¿Por qué SELECT 1/2 devuelve 0?


Respuestas:


29

Son enteros.

Tratar:

select 1.0/2.0;

O:

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

14

Primero, está ejecutando los números como enteros, pero segundo, tampoco ha definido la precisión y la escala del tipo de datos numérico .

Prueba esto:

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

o incluso

SELECT CONVERT(NUMERIC(5, 2), 1/2.0)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.