2013-12-03 2 views
0

У меня есть таблица, заполненная (DUTCH) праздниками в прошлом и будущем, и мне нужно изменить название и дату для конкретного праздника. Поскольку у нас больше нет Королевы, но король, Квинсдейн уже не праздник. Теперь его Королевский день. И это отмечается в другую дату.Выберите конкретные записи и измените их значения

Это моя текущая таблица:

68 NL 2014-04-30 Queensday 
77 NL 2015-04-30 Queensday 
88 NL 2016-04-30 Queensday 
97 NL 2017-04-30 Queensday 
106 NL 2018-04-30 Queensday 
115 NL 2019-04-30 Queensday 
124 NL 2020-04-30 Queensday 
134 NL 2021-04-30 Queensday 

Я хочу, чтобы изменить все записи, description='Queensday' в description='Kingsday' И date=date-3days (так как он отмечается каждый 27 апреля), но только там, где год от даты больше, чем 2013.

ответ

2
update table 
set 
    description = 'Kingsday', 
    <yourdateField> = date_sub(<yourdateField>, interval 3 DAY) 
where description = 'Queensday' 
and year(<yourdateField>) > 2013 

бонус (?)

update country 
set 
    politicalSystem = 'democracy', 
    comment = 'easier to manage holidays' 
where 
    politicalSystem = 'royalty' 
+0

Я сделал ответ одновременно. Был ли мой dateadd работать как ваш date_sub? Я не эксперт MySQL. –

+0

@Wagner см. Комментарий в вашем ответе;) –

+0

спасибо! Я удалил мой, так как ваш был лучше. +1 –

Смежные вопросы