Sql a和b之间的数字-a上不包含,b上包含

Sql a和b之间的数字-a上不包含,b上包含,sql,oracle,where-clause,Sql,Oracle,Where Clause,(我对SQL有点陌生)我正在编写很多查询,其中有一个where子句,如下所示: where some_number > A and some_number <= B where some_number between A and B where some_number > A and some_number <= B 问题是第一个子句在A上是独占的,在B上是包含的。有没有办法像第二个查询那样在单行上指定“inclusivity”?谢谢。你可以用“+1”来抵消你的a

(我对SQL有点陌生)我正在编写很多查询,其中有一个
where
子句,如下所示:

where some_number > A
and some_number <= B
where some_number between A and B
where some_number > A and some_number <= B

问题是第一个子句在A上是独占的,在B上是包含的。有没有办法像第二个查询那样在单行上指定“inclusivity”?谢谢。

你可以用“+1”来抵消你的a

或者只使用你的第一个语法,它更容易阅读。

几点

首先,如果你使用更少的线,那只是“更少的线”。我会将其格式化如下:

where some_number > A
and some_number <= B
where some_number between A and B
where some_number > A and some_number <= B
因此,性能是相同的


基本上,不用担心。

第一个示例是正确的语法<代码>介于之间是包含的。如果您处理的是整数,只需将一个限制偏移一即可。但你为什么要这么做?您创建的代码不易维护,速度也不快。两行方法有什么问题?@DavidM-每个人都有自己的错误,但我更喜欢
之间的
语法,而不是
。>A和。。。你用你已经在做的方式去做。不要被(A+smallAmount)和(B)
之间的
所诱惑,除非您使用的是离散值,例如整数。如果您使用的是连续值,如浮点数或日期,请坚持您的操作。@Dems-当然可以。我要换一种说法,我更喜欢在
语法之间使用
,而不是
。>A和…
+1
假定为整数。浮动和日期时间等呢?偏移机制仅适用于离散值,而对于连续值则极不适用。