Nit*_*esh 2 sql sql-server sql-server-2008
我只想10.111根据以下Query中的某些条件转换为10
Select
case when 2=1 then
CONVERT(decimal(10,3), 10.111)
else
CONVERT(decimal(10,0), 10.111)
end
Run Code Online (Sandbox Code Playgroud)
但它返回10.000我怎么能得到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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
847 次 |
| 最近记录: |