sql - 案例语法 - 减去 2 个值会给出不正确的数字
问题描述
我正在做这个任务:
我基于此编写的代码是:
SELECT Number1, Number2, MathOperation, Result = CASE
WHEN MathOperation = 'Addition' THEN Number1 + Number2
WHEN MathOperation = 'Substraction' THEN Number1 - Number2
WHEN MathOperation = 'Multiplication' THEN Number1 * Number2
ELSE Number1 / Number2
END
FROM @Math;
减法结果 ( Second WHEN ) 与除法结果 ( ELSE ) 相同,这是不正确的。我不确定我做错了什么。能否请你帮忙?
解决方案
它给出了正确的结果。
您的查询无法正常工作/行为不同并产生错误的结果,这可能是因为表中的数据Subtraction
和 case 语句中的值Substraction
不同。
create table Math(id int identity(1, 1) primary key
, Number1 decimal(16, 2)
, Number2 decimal(16, 2)
, MathOperation NVARCHAR(100))
insert into Math values
(128, 48, 'Addition')
, (128, 48, 'Substraction')
, (128, 48, 'Multiplication')
, (128, 48, 'Division')
SELECT Number1
,Number2
,MathOperation
,Result = CASE
WHEN MathOperation = 'Addition'
THEN Number1 + Number2
WHEN MathOperation = 'Substraction'
THEN Number1 - Number2
WHEN MathOperation = 'Multiplication'
THEN Number1 * Number2
ELSE Number1 / Number2
END
FROM Math
推荐阅读
- reactjs - 我可以在没有节点 JS 的情况下使用 REACT JS 创建整个 CRUD 操作吗?
- javascript - 反应:警告:您试图重定向到您当前正在重定向的同一条路线
- javascript - 如何添加一个
- angular - 调度动作后如何防止 NgRx 效果?
- c - 编译 dblognoconn.obj 时未解决的外部符号错误
- java - 如何使用 Mockito 模拟默认接口方法?
- powerbi - 在powerbi dax中获取小计和单个行值之间的差异
- c - 想弄清楚为什么结构元素发生了变化,而我什么都没做
- css - 是否可以为角度动画提供动画进度?
- python - 删除具有特定条件的列,除非它的名称包含在特定列表中