sql - 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 行,因此忽略减号但仍匹配金额。
有任何想法吗?
解决方案
使用in
:
where amount in (100.00, -100.00)
请注意,单引号不是必需的。
您还可以使用abs()
:
where abs(amount) = 100.00
如果您不太关心索引或查询优化。
推荐阅读
- arrays - Laravel:如何在具有相同名称的数组的键上创建循环
- github - Git推送“一切都是最新的”但github上的文件没有改变
- cmake - 通过 ue4-conan 安装时缺少 protobuf 配置
- javascript - 为什么默认情况下也会在 switch 情况下运行,尽管在 javascript 中
- typo3 - TYPO3 纯后端扩展 V11.5
- unity3d - 在客户编辑器中序列化的正确方法?
- c# - 如何在nlog中将属性序列化为json
- delphi - 如何在过程中将类引用(元类)作为参数传递?
- python - Python xport 模块:struct.error:所需参数不是整数
- arduino - ESP8266 上的 WiFi 状态 1