OceanBase 比較函數(shù)

2021-06-09 15:45 更新

GREATEST

聲明

GREATEST(value1, ...)

說明

返回參數(shù)的最大值,和函數(shù) LEAST() 相對。

參數(shù)至少為兩個(gè)(一個(gè)參數(shù)將會報(bào)錯(cuò));如果參數(shù)中有 NULL, 返回值為 NULL。

當(dāng)參數(shù)中同時(shí)存在數(shù)值和字符時(shí),把字符隱式轉(zhuǎn)換為數(shù)值類型處理,不能轉(zhuǎn)換的報(bào)錯(cuò)。

例子

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, ...)

說明

返回參數(shù)的最小值,和函數(shù) GREATEST() 相對。

參數(shù)至少為兩個(gè);如果參數(shù)中有 NULL,返回值為 NULL。

當(dāng)參數(shù)中同時(shí)存在數(shù)值和字符時(shí),把字符隱式轉(zhuǎn)換為數(shù)值類型處理,不能轉(zhuǎn)換的報(bào)錯(cuò)。

例子

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)

說明

如果參數(shù) expr 為 NULL,那么 ISNULL() 的返回值為 1,否則返回值為 0。

ISNULL() 函數(shù)可以用來替代針對 NULL 的等值(=)比較。(使用 = 的 NULL 值比較通常都是錯(cuò)誤的)ISNULL() 函數(shù)同 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)
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號