选择特定记录并更改其值

时间:2013-12-03 17:25:58

标签: mysql

我在过去和将来都有一个充满(DUTCH)假期的桌子,我需要更改特定假期的名称和日期。由于我们不再有女王,而是国王,Queensday不再是假期。现在是Kingsday。并且它在不同的日期庆祝。

这是我目前的表格:

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(因为每年4月27日庆祝),但仅限日期年份大于2013年。

1 个答案:

答案 0 :(得分: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'