Отображать только значения справа от десятичного числа - PullRequest
0 голосов
/ 23 января 2009

Я использую SQL Server 2005 и мне нужно проверить, действительно ли значения в столбце, метаданные которого указаны как DECIMAL (18.3), содержат данные, которые имеют значения справа от десятичной точки, и если да, то каковы эти значения.

Я прочитал несколько статей, в которых обсуждается только то, как отбрасывать десятичные разряды или как округлять значения, но не как отображать ТОЛЬКО то, что хранится справа от десятичной запятой.

Ваша помощь будет принята с благодарностью.

С уважением,

Игнасио.

Ответы [ 3 ]

1 голос
/ 23 января 2009
SELECT decimalnumber - FLOOR(decimalnumber) AS decimalpart
FROM mytable
WHERE decimalnumber - FLOOR(decimalnumber) > 0
1 голос
/ 23 января 2009

Попробуйте:

SELECT a - FLOOR(a)
FROM ...
0 голосов
/ 23 января 2009

Это может не всегда работать так, как вы ожидаете. Проблема возникает, когда у вас есть отрицательные числа. Вы можете думать о ЭТАЖЕ как о типе округления, когда оно всегда округляется до следующего целого числа. Этаж (3.14) = 3, и Этаж (-3.14) = -4.

Чтобы получить значение числа после десятичной точки, вы можете использовать функцию ParseName, которая будет работать для положительных и отрицательных чисел.

Select ParseName(-3.9876, 1)
Select ParseName(-3.1234, 1)
Select ParseName(3.9876, 1)
Select ParseName(3.1234, 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...