Smu*_*ger 2 sql-server decimal-point
我认为很简单.
我有一个显示项目长度的查询.
查询:
select length from vw_OutstandingVsInStock1 OVI
LEFT JOIN Departments DEP
on OVI.Department COLLATE DATABASE_DEFAULT=DEP.Description
where OutstandingVolume>0.39
Run Code Online (Sandbox Code Playgroud)
这会返回如下结果:
0.9
1.2
1.5
1.8
2.1
2.4
2.7
3.0
3.3
3.6...
Run Code Online (Sandbox Code Playgroud)
在3.0我希望它显示为的情况下3
所以如果没有小数值,则显示int没有小数.如果存在十进制显示十进制到1小数点?
所以期望的输出是3而6不是3.0和6.0
我正在使用MSSQL 2012.
另一个变种(小提琴)
;WITH vw_OutstandingVsInStock1 (length)
AS (SELECT 0.9 UNION ALL
SELECT 1.2 UNION ALL
SELECT 1.5 UNION ALL
SELECT 1.8 UNION ALL
SELECT 2.1 UNION ALL
SELECT 2.4 UNION ALL
SELECT 2.7 UNION ALL
SELECT 3.0 UNION ALL
SELECT 3.3 UNION ALL
SELECT 3.6)
SELECT IIF(length % 1 = 0,
CAST(length AS INT),
CAST(length AS SQL_VARIANT))
FROM vw_OutstandingVsInStock1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1648 次 |
| 最近记录: |