首页 > 解决方案 > SQL查询返回所有相同的数字,忽略数字是否为正

问题描述

我正在寻找一个 SQL 查询来返回基于数字的所有记录。诀窍是数字可以是正数或负数,但只要数字相同,它就应该返回。

所以我有一张这样的桌子:

1   amt1     100.00    
2   amt2     100.00    
3   amt3    -100.00    
4   amt4     120.00

像这样的查询:

Select * from table where amount = '100.00'

仅返回前 2 行。

我想返回前 3 行,因此忽略减号但仍匹配金额。

有任何想法吗?

标签: sqlsql-server

解决方案


使用in

where amount in (100.00, -100.00)

请注意,单引号不是必需的。

您还可以使用abs()

where abs(amount) = 100.00

如果您不太关心索引或查询优化。


推荐阅读