2013-02-12 2 views
1

Итак, мне нужно сбросить даты истечения срока действия кучу скидочных купонов в нашей базе данных. Наши даты истечения срока действия являются полем «to_date» и отображаются следующим образом: to_date = '2013-04-14'Как обновить дату истечения срока действия в MySQL?

Мне нужно установить to_date как через 28 дней после даты from_date. Так что в принципе, что-то вроде этого:

UPDATE salesrule 
SET name = 'New coupon code', to_date = 'from_date + 28 days' 

Я знаю, что это будет работать для простого Int значения, но я не знаю, как сделать это дать, что данные отображаются в качестве фактической даты. Я не могу контролировать, как сама дата отображается, это встроенная функциональность Magento.

Я большой болтун, когда дело доходит до MySQL, но я провел некоторое исследование, и я нашел функцию формата: FORMAT (Now(), 'YYYY-MM-DD') У меня есть чувство это может быть ключом ... может ли кто-нибудь указать мне в правильном направлении условия форматирования или написания этой команды правильно? Спасибо!

ответ

1
to_date = DATE_ADD(from_date, INTERVAL 28 DAY) 
+0

Простые слова не могут объяснить мою любовь к вам прямо сейчас. :) – Kale

1

Проверить this вопрос, оно делает то, что вы хотите.

You can use the DATE_ADD() function: 

... WHERE DATE(DATE_ADD(eventdate, INTERVAL -1 DAY)) = CURRENT_DATE 
It can also be used in the SELECT statement: 

ВЫБОР DATE_ADD ('2010-05-11', ИНТЕРВАЛ 1 ДЕНЬ) КАК Tomorrow;