如 INTERVAL() 函数的第一个参数为 NULL,MySQL 会返回什么?


如果 INTERVAL() 函数的第一个参数为 NULL,MySQL 会返回 -1。以下示例将演示这一点——

mysql> Select INTERVAL(NULL,20,32,38,40,50,55);
+--------------------------------------+
| INTERVAL(NULL,20,32,38,40,50,55)     |
+--------------------------------------+
| -1                                   |
+--------------------------------------+
1 row in set (0.00 sec)

即使任何其他参数与第一个参数一起为 NULL,也会返回 -1。

mysql> Select INTERVAL(NULL,20,32,NULL,40,50,NULL);
+--------------------------------------+
| INTERVAL(NULL,20,32,NULL,40,50,NULL) |
+--------------------------------------+
| -1                                   |
+--------------------------------------+
1 row in set (0.00 sec)

如果第一个参数不为 NULL 并且任何一个或多个其他参数为 NULL,它将返回较大数字的索引值(如果有)。

mysql> Select INTERVAL(50,20,NULL,55,40,50,NULL);
+------------------------------------+
| INTERVAL(50,20,NULL,55,40,50,NULL) |
+------------------------------------+
| 2                                  |
+------------------------------------+
1 row in set (0.00 sec)

更新日期:2020 年 6 月 22 日

98 次浏览

开启你的职业生涯

通过完成课程取得认证

开始
广告