Почему Ceiling () меняет тип данных на (38,0) здесь, теряя точность после десятичной точки?
Это ТОЛЬКО происходит с десятичной дробью (38, X), как показано ниже.
Запуск на Microsoft SQL Server 2016
DECLARE @decimal2 DECIMAL(37,4) = 1.1
SELECT COALESCE(1.1,CEILING(@decimal2))
^ это возвращает 1.1
DECLARE @decimal DECIMAL(38,4) = 1.1
SELECT COALESCE(1.1,CEILING(@decimal))
^ это возвращает 1 !!