MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como LAST() funciona no MariaDB


No MariaDB, LEAST() é uma função interna que retorna o menor argumento (ou seja, menor/valor mínimo) de sua lista de argumentos.

Para obter o melhor valor, use GREATEST() .

Sintaxe


A sintaxe fica assim:
LEAST(value1,value2,...)

Onde value1,value2,… é dois ou mais argumentos para os quais retornar o menor/valor mínimo.

Exemplo


Aqui está um exemplo:
SELECT LEAST(3, 8);

Resultado:
+-------------+
| LEAST(3, 8) |
+-------------+
|           3 |
+-------------+

Aqui está outro exemplo que usa mais argumentos:
SELECT LEAST(10, 7, 9, 12, 80, 8, 14);

Resultado:
+--------------------------------+
| LEAST(10, 7, 9, 12, 80, 8, 14) |
+--------------------------------+
|                              7 |
+--------------------------------+

Expressões


Os argumentos podem incluir expressões como esta:
SELECT LEAST(2 * 3, 1 * 3);

Resultado:
+---------------------+
| LEAST(2 * 3, 1 * 3) |
+---------------------+
|                   3 |
+---------------------+

Cordas


Os argumentos não precisam ser numéricos. Por exemplo, aqui está uma comparação de strings:
SELECT LEAST('a', 'b', 'c');

Resultado:
+----------------------+
| LEAST('a', 'b', 'c') |
+----------------------+
| a                    |
+----------------------+

Datas


Aqui está uma comparação de strings de data:
SELECT LEAST('2020-01-01', '2021-01-01');

Resultado:
+-----------------------------------+
| LEAST('2020-01-01', '2021-01-01') |
+-----------------------------------+
| 2020-01-01                        |
+-----------------------------------+

Tipos mistos


A documentação do MariaDB afirma que, se algum argumento for uma string que diferencia maiúsculas de minúsculas, os argumentos são comparados como strings que diferenciam maiúsculas de minúsculas. No entanto, você pode descobrir que tipos de mistura podem produzir resultados inesperados e um aviso.

Exemplo:
SELECT LEAST('Cat', 10);

Resultado:
+------------------+
| LEAST('Cat', 10) |
+------------------+
|                0 |
+------------------+
1 row in set, 1 warning (0.000 sec)

Confira o aviso:
SHOW WARNINGS;

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

Argumentos nulos


LEAST() retorna null se algum argumento for null :
SELECT LEAST(1, null, 3);

Resultado:
+-------------------+
| LEAST(1, null, 3) |
+-------------------+
|              NULL |
+-------------------+

Argumentos ausentes


Chamando LEAST() com o número errado de argumentos ou sem argumentos resulta em um erro:
SELECT LEAST();

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

E:
SELECT LEAST(10);

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