我在表有一列数量,其类型是十进制(16,6)SQL值四舍五入
我想使从该表中的SELECT查询将
- 显示数量为整数如果它没有小数位样1 5 1000
- 想1.25 5.25 1000.25
我试图与在其它情况下2位小数显示数量:
SELECT
CASE WHEN (Quantity-CAST(Quantity AS int)=0) THEN CAST(Quantity AS int)
ELSE CAST(Quantity AS decimal(16,2)) END
FROM Table
但它返回像1.00
是否有可能在所有的价值?我想知道现在是否真的试图将两种数据类型放入单个列中?它以某种方式工作,但可能并非如我所愿。
我使用Microsoft SQL Server,如果该事项
可能相关:http://stackoverflow.com/q/25569569/2186023 – DrCopyPaste 2014-09-11 12:50:29
你可以做到这一点,但你必须转换为'VARCHAR'(或nvarchar)并手动格式化数字以满足您的需要,所有分支的案例必须返回相同的类型(即使是不会被击中的分支) – DrCopyPaste 2014-09-11 12:51:40