Trong MariaDB, GREATEST()
là một hàm tích hợp trả về đối số lớn nhất (tức là lớn nhất / giá trị tối đa) từ danh sách các đối số của nó.
Để trả lại mức tối thiểu đối số -valued, sử dụng LEAST()
.
Cú pháp
Cú pháp như sau:
GREATEST(value1,value2,...)
Trong đó value1,value2,…
là hai hoặc nhiều đối số trả về giá trị lớn nhất.
Ví dụ
Đây là một ví dụ:
SELECT GREATEST(3, 8);
Kết quả:
+----------------+ | GREATEST(3, 8) | +----------------+ | 8 | +----------------+
Dưới đây là một ví dụ khác sử dụng nhiều đối số hơn:
SELECT GREATEST(3, 8, 9, 12, 80, 7, 4);
Kết quả:
+---------------------------------+ | GREATEST(3, 8, 9, 12, 80, 7, 4) | +---------------------------------+ | 80 | +---------------------------------+
Biểu thức
Các đối số có thể bao gồm các biểu thức như sau:
SELECT GREATEST(2 * 3, 1 * 3);
Kết quả:
+------------------------+ | GREATEST(2 * 3, 1 * 3) | +------------------------+ | 6 | +------------------------+
Chuỗi
Các đối số không cần phải là số. Ví dụ:dưới đây là so sánh các chuỗi:
SELECT GREATEST('a', 'b', 'z');
Kết quả:
+-------------------------+ | GREATEST('a', 'b', 'z') | +-------------------------+ | z | +-------------------------+
Ngày
Dưới đây là so sánh các chuỗi ngày:
SELECT GREATEST('2020-01-01', '2021-01-01');
Kết quả:
+--------------------------------------+ | GREATEST('2020-01-01', '2021-01-01') | +--------------------------------------+ | 2021-01-01 | +--------------------------------------+
Loại hỗn hợp
Tài liệu MariaDB tuyên bố rằng nếu bất kỳ đối số nào là chuỗi phân biệt chữ hoa chữ thường, thì các đối số sẽ được so sánh dưới dạng chuỗi phân biệt chữ hoa chữ thường. Tuy nhiên, bạn có thể thấy rằng các kiểu trộn có thể tạo ra kết quả không mong muốn và một cảnh báo.
Ví dụ:
SELECT GREATEST('Cat', 10);
Kết quả:
+---------------------+ | GREATEST('Cat', 10) | +---------------------+ | 10 | +---------------------+ 1 row in set, 1 warning (0.000 sec)
Kiểm tra cảnh báo:
SHOW WARNINGS;
Kết quả:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | +---------+------+-----------------------------------------+
Đối số rỗng
GREATEST()
trả về null
nếu bất kỳ đối số nào là null
:
SELECT GREATEST(1, null, 3);
Kết quả:
+----------------------+ | GREATEST(1, null, 3) | +----------------------+ | NULL | +----------------------+
Thiếu đối số
Đang gọi GREATEST()
với số lượng đối số sai hoặc không có bất kỳ đối số nào dẫn đến lỗi:
SELECT GREATEST();
Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'
Và:
SELECT GREATEST(10);
Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'