Sfortunatamente MySQL si aspetta una parola chiave dopo INTERVAL e non una stringa o un valore numerico. Puoi ottenere ciò che desideri utilizzando un'istruzione CASE e fornire i diversi casi con le diverse parole chiave.
Ad esempio, supponiamo di voler aggiungere il valore con l'unità appropriata alla data, quindi l'istruzione SQL sarebbe la seguente:
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
A proposito, funziona anche nella clausola WHERE :)