MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как работи GREATEST() в MariaDB

В MariaDB, GREATEST() е вградена функция, която връща най-големия (т.е. най-големия/с най-голяма стойност) аргумент от своя списък с аргументи.

За да върнете минимума -valued аргумент, използвайте LEAST() .

Синтаксис

Синтаксисът е така:

GREATEST(value1,value2,...)

Където value1,value2,… е два или повече аргумента, за които да се върне най-големият.

Пример

Ето един пример:

SELECT GREATEST(3, 8);

Резултат:

+----------------+
| GREATEST(3, 8) |
+----------------+
|              8 |
+----------------+

Ето още един пример, който използва повече аргументи:

SELECT GREATEST(3, 8, 9, 12, 80, 7, 4);

Резултат:

+---------------------------------+
| GREATEST(3, 8, 9, 12, 80, 7, 4) |
+---------------------------------+
|                              80 |
+---------------------------------+

Изрази

Аргументите могат да включват изрази като този:

SELECT GREATEST(2 * 3, 1 * 3);

Резултат:

+------------------------+
| GREATEST(2 * 3, 1 * 3) |
+------------------------+
|                      6 |
+------------------------+

Стрингове

Аргументите не трябва да са числови. Например, ето сравнение на низове:

SELECT GREATEST('a', 'b', 'z');

Резултат:

+-------------------------+
| GREATEST('a', 'b', 'z') |
+-------------------------+
| z                       |
+-------------------------+

Дати

Ето сравнение на низовете за дата:

SELECT GREATEST('2020-01-01', '2021-01-01');

Резултат:

+--------------------------------------+
| GREATEST('2020-01-01', '2021-01-01') |
+--------------------------------------+
| 2021-01-01                           |
+--------------------------------------+

Смесени типове

Документацията на MariaDB посочва, че ако някой аргумент е низ, чувствителен към малки и големи букви, аргументите се сравняват като низове, чувствителни към малки и големи букви. Въпреки това може да откриете, че смесването на типове може да доведе до неочаквани резултати и предупреждение.

Пример:

SELECT GREATEST('Cat', 10);

Резултат:

+---------------------+
| GREATEST('Cat', 10) |
+---------------------+
|                  10 |
+---------------------+
1 row in set, 1 warning (0.000 sec)

Проверете предупреждението:

SHOW WARNINGS;

Резултат:

+---------+------+-----------------------------------------+
| Level   | Code | Message                                 |
+---------+------+-----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' |
+---------+------+-----------------------------------------+

Нулеви аргументи

GREATEST() връща null ако някой аргумент е null :

SELECT GREATEST(1, null, 3);

Резултат:

+----------------------+
| GREATEST(1, null, 3) |
+----------------------+
|                 NULL |
+----------------------+

Липсващи аргументи

Извикване на GREATEST() с грешен брой аргументи или без никакви аргументи води до грешка:

SELECT GREATEST();

Резултат:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'

И:

SELECT GREATEST(10);

Резултат:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB CURRENT_USER() Обяснено

  2. Най-често срещани проблеми с MHA и как да ги поправите

  3. Коригирайте „ГРЕШКА 1054 (42S22):Неизвестна колона „…“ в „on clause“ в MariaDB

  4. Kerberos за SQLyog от MariaDB Connector/C

  5. Сравняване на Oracle RAC HA Solution с Galera Cluster за MySQL или MariaDB