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

19

Как видно из названия. Я даже попробовал, SELECT CONVERT(NUMERIC, 1/2)который также вернул 0.

Я использую SQL Server 2008.

Аноним Максимус
источник

Ответы:

29

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

Пытаться:

select 1.0/2.0;

Или:

select CONVERT(NUMERIC,1)/CONVERT(NUMERIC,2);
Philᵀᴹ
источник
14

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

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

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

или даже

SELECT CONVERT(NUMERIC(5, 2), 1/2.0)
Тарын
источник