Thật không may, MySQL mong đợi một từ khóa sau INTERVAL chứ không phải bất kỳ giá trị chuỗi hoặc số nào. Bạn có thể đạt được điều mình muốn bằng cách sử dụng câu lệnh CASE và đưa ra các trường hợp khác nhau với các từ khóa khác nhau.
Ví dụ:giả sử bạn muốn thêm giá trị với đơn vị thích hợp vào ngày thì câu lệnh SQL sẽ như sau:
SELECT CASE unit
WHEN "DAY" THEN date_add(date, INTERVAL value DAY)
WHEN "MONTH" THEN date_add(date, INTERVAL value MONTH)
END
AS newDate
FROM table
Nhân tiện, cũng hoạt động trong mệnh đề WHERE :)