【发布时间】:2020-06-22 08:47:46
【问题描述】:
我有下表:
Name Department first_deg second_deg
John IT 20 20
David Art 30 60
Kadir Music 40 85
kevin Sport 50 140
我想在 sql 中做一些数学运算并找到 (first_deg,second_deg) 之间的结果
例如: 如果 first_deg,second_deg 它们相等,它将写入 null 如果 first_deg 是 second_deg 的两倍,它将写入 null 否则它必须给出不同的。
更多解释结果应该是这样的:
Name Department first_deg second_deg result
John IT 20 20 null
David Art 30 60 null
Kadir Music 40 85 5
kevin Sport 50 140 40
提前谢谢你:)
【问题讨论】:
-
如果 second 是
-
CASE WHEN second_deg NOT IN (first_deg, 2*first_deg) THEN second_deg - 2 * first_deg END -
在第一个和第二个之间,它必须找到不同的并将其放入结果 colm 中:如果 second_deg = first_deg ---> result null............. 如果second_deg =2(first_deg) ---> 结果为 null ......如果 second_deg = 2(first_deg)+9 ---> 结果 9
-
在 Oracle 中,您可以使用
nullif(mod(second_deg, first_deg), 0)。