Perché SELECT 1/2 restituisce 0?


Risposte:


29

Sono numeri interi.

Provare:

select 1.0/2.0;

O:

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

14

Innanzitutto, stai eseguendo i numeri come numeri interi, ma in secondo luogo, non hai anche definito la precisione e la scala del tipo di dati numerico .

Prova questo:

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

o anche

SELECT CONVERT(NUMERIC(5, 2), 1/2.0)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.