use*_*991 3 sql sql-server numbers zero
假设我有一个可以包含各种数字的表格,例如它可能如下所示:
例A:MyTable -10,-3,5,10,
例B:MyTable -10,-5,3,10,
因此,如果我查询ExampleA中的表,我希望它返回"-3"(值壁橱为0)
同样,如果我查询ExampleB中的表,我希望它返回"3"(最接近0的值)
无论表中的数字如何,我总是希望找到最接近零的值,我该怎么做?
另外,我怎样才能选择哪个关系值(比如最接近的值可能是-3和3)?
使用的组合min()和abs():
select num
from mytable
where abs(num) = (select min(abs(num)) from mytable)
Run Code Online (Sandbox Code Playgroud)
要打破关系,将min()或max()应用于num以获得负面或正面,例如
为了得到平局的负面影响:
select min(num) num
from mytable
where abs(num) = (select min(abs(num)) from mytable)
Run Code Online (Sandbox Code Playgroud)
为了获得平局:
select max(num) num
from mytable
where abs(num) = (select min(abs(num)) from mytable)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2268 次 |
| 最近记录: |