MySQL INTERVAL 操作符

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);
Interval function Example 1

在第一个语句中,我们使用小于 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;
INTERVAL Operator 3