MySQL Interval 操作符使用二分查找法搜索项目并返回从 0 到 N 的值。在本文中,我们将通过多个示例展示如何使用 Interval 操作符,其语法如下:
SELECT INTERVAL(N, N1, N2, N3,....Nn)
如果 N < N1,则返回 0。N < N2 表示 1,N < N3 表示 2,依此类推。此 Interval 函数要求参数按升序排列。我的意思是,N1 < N2 < N3 < N4…….< Nn。否则,它将无法工作。
MySQL Interval 操作符示例
在此示例中,我们使用从 N1 到 N7 的相同值。但是,我们正在更改 N 值以检查区间位置。
SELECT INTERVAL(45, 10, 20, 30, 40, 50, 60, 70);
SELECT INTERVAL(11, 10, 20, 30, 40, 50, 60, 70);
SELECT INTERVAL(67, 10, 20, 30, 40, 50, 60, 70);

在第一个语句中,我们使用小于 N1 的 N 值返回 0。接下来,我们使用大于 N7 的 N 值,因此返回 7。在第三个语句中,我们使用 NULL 作为 N。这就是 MySQL 返回 -1 的原因。
SELECT INTERVAL(6, 10, 20, 30, 40, 50, 60, 70);
SELECT INTERVAL(98, 10, 20, 30, 40, 50, 60, 70);
SELECT INTERVAL(NULL, 10, 20, 30, 40, 50, 60, 70);

Interval 示例 2
以下操作符查询根据值 76000 查找客户的区间位置。首先,76000 作为 N,员工收入作为 N1。接下来,收入作为 N,76000 作为 N1。
这里,我们使用 Order By 子句按升序对收入进行排序;否则,此函数将无法工作。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
INTERVAL(76000, Income) AS Res1,
INTERVAL(Income, 76000) AS Res2,
Sales
FROM customer
ORDER BY Income ASC;
