sql - 仅当货币不是 0.0000 时才转换 2 个十进制值
问题描述
我正在尝试打印
条件 1:如果货币显示为 0.00,则去掉小数点 (.00)
Ex: 0.00 -> 0
条件 2:如果货币显示为大于 0.00,则保留小数点到 2 位(所以,######.00)
12.46 -> 12.46
0.00 -> 0
13.96 -> 13.96
我尝试了以下方法,但 CAST 不起作用:
CASE
WHEN CAST([Money] AS NUMERIC(10,2)) = 0.00 THEN CAST([Money] AS INT)
ELSE CAST([Money] AS NUMERIC(10,2)) END BankPile,
解决方案
如果您关心这些细节,那么您需要将结果转换为搅拌:
(case when CAST([Money] AS NUMERIC(10,2)) = 0.00 then '0'
else cast(cast([Money] as numeric(10, 2)) as varchar(255))
end)
推荐阅读
- pytorch - 如何从pytroch CUDA内存不足中恢复?
- python - 使用 pydicom 从轴向视图中提取矢状和冠状切面
- c++ - 检查从 enable_shared_from_this 派生的对象是否由 shared_ptr 管理?
- amazon-web-services - 为单个 cognito 用户分配对在 AWS 的 Secret Manager 上创建的密钥的访问权限
- excel - Excel如何根据(选择columnA = ValueA)或(选择columnB = ValueB)进行过滤
- meteor - 使用 bitbucket 和部署令牌作为变量部署在 Meteor Galaxy 服务器上
- javascript - 为什么我通过点击事件更改的变量不会影响与该变量有关的另一个函数?
- reactjs - 大摇大摆地测试 React
- javascript - 我想知道如何在后面的代码中访问我的模态表单元素。另外我想知道如何在模态表单上应用 jquery 验证器
- karate - 空手道 - 无法将 java.util.LinkedHashMap 转换为 java.util.List