Использование DATE_ADD с именем столбца в качестве значения интервала
У меня есть таблица, которая содержит продукты, дату начала и значение интервала:
product_name start_date expiry_period
Domain Registration (1 Year) 2013-12-08 00:00:00 1 Year
Domain Registration (1 Year) 2013-12-01 00:00:00 1 Year
Website Hosting (Bronze) 2013-12-19 00:00:00 1 Year
Website Hosting (Silver) 2013-12-20 00:00:00 1 Year
Website Hosting (Silver) 2013-12-21 00:00:00 1 Year
Domain Registration (2 years) 2014-01-04 00:00:00 2 Year
Domain Registration (1 Year) 2014-01-04 00:00:00 1 Year
Website Hosting (Silver) 2014-01-06 00:00:00 1 Year
Domain Registration (2 years) 2014-01-06 00:00:00 2 Year
Domain Registration (1 Year) 2014-01-07 00:00:00 1 Year
Domain Registration (1 Year) 2014-01-10 00:00:00 1 Year
Website Hosting (Bronze) 2014-01-12 00:00:00 1 Year
Я пытаюсь добавить вычисленное значение в своем операторе select, чтобы добавить интервал к start_date, чтобы мой набор данных возвращался с начальной и конечной датой программно.
Вот что у меня на данный момент:
select
product_name,
start_date,
expiry_period
DATE_ADD(start_date, INTERVAL expiry_period) as end_date
from
tbl_products
Однако он возвращает ошибку в строке DATE_ADD (неверный синтаксис SQL).
Кажется, что все статьи SO, которые я читал, указывают на то, что выражение и тип должны быть разделены (т.е.DATE_ADD(start_date, INTERVAL expiry_value expiry_type)
) - Конечно, это не так, и я могу просто передать точку в одном поле?
Если нет, и поскольку я не могу изменить схему данных, каков будет рекомендуемый способ сделать это? Я размышлял, используяSUBSTRING_INDEX
разделить столбец, но это тоже не работает.