我有一个表,其中有一列,我需要将值格式化为单一形式。
结果
1258
1248
1.18761801719666
1.1763299703598
1.21516096591949
像1258这样的值是正确的。我需要像1.18761801719666这样的值来获得类似的形式(1188(,最后一个数字要四舍五入。
我使用时:
SELECT CAST(Results as DECIMAL(18,4)) as Results
FROM [Table]
所以我已经达到了预期结果的一半,但我不知道。
示例数据:
1258
1248
1.18761801719666
1.1763299703598
1.21516096591949
我的期望:
1258
1248
1187
1177
1215
1.188
和1188
是不同的数字,而不仅仅是同一数字的不同格式。所以你需要一些实际的数学运算,而不仅仅是格式化。
例如,如果规则是";如果数字小于10;,然后你可以写CASE WHEN Results < 10 THEN Results * 1000 ELSE Results END
然后,您可以将其强制转换为整数,以丢失小数点后的其余位置:
SELECT CAST(CASE WHEN Results < 10 THEN Results * 1000 ELSE Results END as INT)