假设我有一个表,其中可能包含各种数字,例如它可能如下所示:
示例A: 我的表 -10, -3, 5、 10,
示例 B: 我的表 -10, -5, 3、 10,
所以如果我查询 ExampleA 中的表,我希望它返回“-3”(接近 0 的值)
同样,如果我查询 ExampleB 中的表,我希望它返回“3”(最接近 0 的值)
无论表格中的数字如何,我总是想找到最接近零的值,我该怎么做?
另外,我如何选择 tie 的值(例如最接近的值可能是 -3 和 3)?
最佳答案
使用 min()
和 abs()
的组合:
select num
from mytable
where abs(num) = (select min(abs(num)) from mytable)
要打破平局,请将 min() 或 max() 应用于 num 以获取负面或正面,例如
要获得平局的负数:
select min(num) num
from mytable
where abs(num) = (select min(abs(num)) from mytable)
要获得平局的正面:
select max(num) num
from mytable
where abs(num) = (select min(abs(num)) from mytable)
关于sql - 如何使用 SQL Server 找到最接近零的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19967117/