Хорошо, вот пример запроса:
SELECT DISTINCT id, amount FROM tbl_recurring_payment AS t
WHERE ADDDATE(t.start_date, INTERVAL (t.period) UPPER(t.unit)) = CURDATE());
Обсуждаемая область - UPPER (t.unit), где я хочу, чтобы этот expr рассматривался как ключевое слово mysql (возможные значения этого столбца: день, неделя, месяц, год). Выдает ошибку, поскольку не может использовать выражение в качестве ключевого слова. Могу ли я что-нибудь сделать, чтобы заставить это работать, или я должен просто добавить проверку для единицы и жестко закодировать ключевое слово для каждого возможного значения единицы?