Dlaczego SELECT 1/2 zwraca 0?


Odpowiedzi:


29

Są liczbami całkowitymi.

Próbować:

select 1.0/2.0;

Lub:

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

14

Po pierwsze, liczby są wykonywane jako liczby całkowite, ale po drugie, nie zdefiniowano również precyzji i skali numerycznego typu danych.

Spróbuj tego:

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

lub nawet

SELECT CONVERT(NUMERIC(5, 2), 1/2.0)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.