2
我只是想基于以下查询SQL相当于Math.Floor()在C#
Select
case when 2=1 then
CONVERT(decimal(10,3), 10.111)
else
CONVERT(decimal(10,0), 10.111)
end
但它返回10.000 我如何获得10一些条件转换10.111
到10?
我只是想基于以下查询SQL相当于Math.Floor()在C#
Select
case when 2=1 then
CONVERT(decimal(10,3), 10.111)
else
CONVERT(decimal(10,0), 10.111)
end
但它返回10.000 我如何获得10一些条件转换10.111
到10?
作为一个整体的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