Числа в выражении SQL Server: целочисленные или десятичные константы .Вам нужно сделать некоторые из них константами с плавающей точкой, чтобы результат тоже был с плавающей точкой.
Вы можете сделать это так:
select power((1 + (power(1 + 5E-2, 1 / 365E0)) - 1), 50) - 1
с результатом:
0,00670596912411203
Вы можете проверить тип выражения, используя SQL_VARIANT_PROPERTY :
select SQL_VARIANT_PROPERTY ( 1 / 365E0, 'BaseType'),
SQL_VARIANT_PROPERTY ( 1 / 365E0, 'Precision'),
SQL_VARIANT_PROPERTY ( 1 / 365, 'BaseType'),
SQL_VARIANT_PROPERTY ( 1 / 365, 'Precision'),
SQL_VARIANT_PROPERTY ( 0.05, 'BaseType'),
SQL_VARIANT_PROPERTY ( 0.05, 'Precision')