Niestety MySQL oczekuje słowa kluczowego po INTERVAL, a nie żadnego ciągu lub wartości liczbowej. Możesz osiągnąć to, co chcesz, używając instrukcji CASE i podając różne przypadki za pomocą różnych słów kluczowych.
Jako przykład, powiedzmy, że chcesz dodać wartość z odpowiednią jednostką do daty, wtedy instrukcja SQL będzie wyglądać następująco:
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
Nawiasem mówiąc, działa również w klauzuli WHERE :)