OceanBase 比较函数

2021-06-09 15:45 更新

GREATEST

声明

GREATEST(value1, ...)

说明

返回参数的最大值,和函数 LEAST() 相对。

参数至少为两个(一个参数将会报错);如果参数中有 NULL, 返回值为 NULL。

当参数中同时存在数值和字符时,把字符隐式转换为数值类型处理,不能转换的报错。

例子

obclient> select greatest(2,1), greatest('2',1,0), greatest('a','b','c'), greatest('a', NULL, 'c'), greatest('2014-05-15','2014-06-01')\G
*************************** 1. row ***************************
                      greatest(2,1): 2
                  greatest('2',1,0): 2
              greatest('a','b','c'): c
           greatest('a', NULL, 'c'): NULL
greatest('2014-05-15','2014-06-01'): 2014-06-01
1 row in set (0.01 sec)

obclient> select greatest(2);
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'greatest'

LEAST

声明

LEAST(value1, ...)

说明

返回参数的最小值,和函数 GREATEST() 相对。

参数至少为两个;如果参数中有 NULL,返回值为 NULL。

当参数中同时存在数值和字符时,把字符隐式转换为数值类型处理,不能转换的报错。

例子

obclient> select least(2, null), least('2',4,9), least('a','b','c'), least('a',NULL,'c'), least('2014-05-15','2014-06-01')\G;
*************************** 1. row ***************************
                  least(2, null): NULL
                  least('2',4,9): 2
              least('a','b','c'): a
             least('a',NULL,'c'): NULL
least('2014-05-15','2014-06-01'): 2014-05-15
1 row in set (0.01 sec)

obclient> select least(2);
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'least'

ISNULL

声明

ISNULL(expr)

说明

如果参数 expr 为 NULL,那么 ISNULL() 的返回值为 1,否则返回值为 0。

ISNULL() 函数可以用来替代针对 NULL 的等值(=)比较。(使用 = 的 NULL 值比较通常都是错误的)ISNULL() 函数同 IS NULL 比较操作符具有一些相同的特性。

例子

obclient> SELECT ISNULL(null), ISNULL('test'), ISNULL(123.456), ISNULL('10:00');
+--------------+----------------+-----------------+-----------------+
| ISNULL(null) | ISNULL('test') | ISNULL(123.456) | ISNULL('10:00') |
+--------------+----------------+-----------------+-----------------+
|            1 |              0 |               0 |               0 |
+--------------+----------------+-----------------+-----------------+
1 row in set (0.01 sec)

obclient> SELECT ISNULL(null+1);
+----------------+
| ISNULL(null+1) |
+----------------+
|              1 |
+----------------+
1 row in set (0.00 sec)
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号