Desværre forventer MySQL et søgeord efter INTERVAL og ikke nogen streng eller numerisk værdi. Du kan opnå det, du ønsker, ved at bruge en CASE-sætning og give de forskellige cases med de forskellige søgeord.
Lad os som et eksempel sige, at du vil tilføje værdien med den passende enhed til datoen, så ville SQL-sætningen være som følger:
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
Fungerer i øvrigt også i WHERE-sætningen :)