Выражение CASE
в целом должно соответствовать одному и тому же типу данных.Единственный способ сделать так, чтобы одна ветвь оценивалась как decimal(10,3)
, а другая - с другим типом данных, - это выполнить приведение к sql_variant
Select
case when 2=1 then
CONVERT(decimal(10,3), 10.111)
else
CAST(FLOOR( 10.111) AS SQL_VARIANT)
end