sql - 测试非整数是否在 [a,b) - 或 [a,b], (a,b), (a,b] 范围内

标签 sql postgresql postgresql-9.1

在不重现产生非整数值的表达式的情况下实现以下目标的惯用方法是什么(在我的真实情况下,该值是在我不想重现的冗长查询之后计算为百分比的):

SELECT * FROM SomeTable WHERE 1/100.0 >0 AND 1/100.0<=0.5

我对可以容纳所有类型边界的通用模式很感兴趣:[]、[]、(] 和 ()。

最佳答案

如果你不想重写表达式,那么使用子查询:

select t.*
from (select 1/100.0 as x
      . . .
     ) t
where x > 0 and x <= 0.5

对于两个nds相等的特殊情况,那么你可以使用between:

where 1/100.0 between 0 and 0.5

关于sql - 测试非整数是否在 [a,b) - 或 [a,b], (a,b), (a,b] 范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26205224/

相关文章:

sql - 在 postgres 中解码等效项

postgresql - 如何通过查询查找启动 postgresql 的时间

postgresql-9.1 - postgresql 中的十进制和数字数据类型有什么区别

windows - 使用 npm 安装 node-postgres 时出现问题(在 Windows 上)

sql - 从函数返回多个 ID 并在查询中使用结果

sql - 无法删除表用户,因为其他对象依赖于它

mysql - 将多个查询合并为一个

sql - Transact-SQL 速记连接语法?

c# - 使用 C# 创建的图像 - 如何通过 SQL 将它们插入 BLOB

postgresql - Postgres 函数 now() 返回不正确的时区偏移