Bohužel MySQL očekává klíčové slovo po INTERVAL a ne žádnou řetězcovou nebo číselnou hodnotu. Můžete dosáhnout toho, co chcete, použitím příkazu CASE a uvedením různých případů pomocí různých klíčových slov.
Řekněme například, že chcete k datu přidat hodnotu s příslušnou jednotkou, pak by příkaz SQL vypadal následovně:
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
Mimochodem funguje také v klauzuli WHERE :)