MySQL hỗ trợ một hàm có tên GREATEST()
. Nó trả về giá trị lớn nhất trong danh sách các đối số của nó.
UPDATE person SET dollars = GREATEST(0, dollars-20) WHERE id=1
Đây không phải là một hàm tiêu chuẩn trong ANSI SQL, vì vậy đừng tin rằng nó có sẵn trong các thương hiệu khác của cơ sở dữ liệu SQL. Nếu bạn cần một giải pháp độc lập với nhà cung cấp, hãy sử dụng CASE
cú pháp do người khác gợi ý. Nhưng nếu tất cả những gì bạn cần sử dụng là MySQL, thì hàm này ngắn gọn hơn.