MySQL在数据之间选择范围

时间:2015-07-10 18:46:37

标签: mysql

所以我将列列为10, 20, 30, 40, 50,并希望mySQL选择并舍入两个选定范围之间的数字。因此,对于查询BETWEEN 11 AND 32,我希望在1040之间包含数据。

原样,只使用BETWEEN 11 AND 32只会获得20-30之间列出的值。四舍五入到最接近的10也不能缓解这个问题。

2 个答案:

答案 0 :(得分:1)

BETWEEN (FLOOR(lower/10)*10) AND (CEIL(upper/10)*10)

使用lower和upper作为整数,如11和32,这将导致

(FLOOR(11/10)*10) => (FLOOR(1.1)*10) => 1*10 => 10
(CEIL(32/10)*10) => (CEIL(3.2)*10) => 4*10 => 40

答案 1 :(得分:0)

x BETWEEN y AND z(y <= x) AND (x <= z)的功能等价物。如果您希望记录在指定范围的“外部”,则必须扩大范围,或将范围外的值修改为IN范围。