Почему SELECT 1/2 возвращает 0?


Ответы:


29

Они целые числа.

Пытаться:

select 1.0/2.0;

Или:

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

14

Во-первых, вы выполняете числа как целые числа, а во-вторых, вы также не определили точность и масштаб числового типа данных.

Попробуй это:

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

или даже

SELECT CONVERT(NUMERIC(5, 2), 1/2.0)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.