ответ Сплатне почти верен, за исключением двух незначительных изменений:
DECLARE @money AS money
SET @money = 2871047428.20
SELECT CAST(@money AS decimal(34,6)) / 10000000.0, @money / 10000000.0
Это даст правильный ответ: 287.10474282. Я изменил значение точности и добавил «.0» к значению деления.
Единственное, что меня сейчас озадачивает, это то, что я должен привести значение в десятичное значение (34,6) вместо ожидаемого десятичного (34,8).
Итак, я написал запрос по-другому, что для меня более логично:
DECLARE @money AS money
SET @money = 2871047428.20
SELECT CAST((@money / 10000000.0) AS decimal(34,8)), @money / 10000000.0
Пожалуйста, посмотрите, какой из них работает для вас.