SQL_VARIANT_PROPERTY близко
DECLARE @what sql_variant
DECLARE @foo decimal(19,3) = 1, @bar decimal(11,7) = 2
SELECT @what = @foo / @bar
SELECT
SQL_VARIANT_PROPERTY(@what, 'BaseType'),
SQL_VARIANT_PROPERTY(@what, 'Precision'),
SQL_VARIANT_PROPERTY(@what, 'Scale'),
SQL_VARIANT_PROPERTY(@what, 'MaxLength')
SELECT @what = @foo + @bar
SELECT
SQL_VARIANT_PROPERTY(@what, 'BaseType'),
SQL_VARIANT_PROPERTY(@what, 'Precision'),
SQL_VARIANT_PROPERTY(@what, 'Scale'),
SQL_VARIANT_PROPERTY(@what, 'MaxLength')
SELECT @what = @foo * @bar
SELECT
SQL_VARIANT_PROPERTY(@what, 'BaseType'),
SQL_VARIANT_PROPERTY(@what, 'Precision'),
SQL_VARIANT_PROPERTY(@what, 'Scale'),
SQL_VARIANT_PROPERTY(@what, 'MaxLength')
Или временная таблица / SELECT..INTO .. как расширение того, что вы уже сделали
Редактировать: Ответ Ремуса?