webForumDet fria alternativet
Logga in / Bli medlem

Uppdatera datum

Databaser & SQL

8 svar · 398 visningar · startad av coolish

Medlem sedan sep. 200297 inlägg
Trådstart#1

Hej.
Jag vill uppdatera datumet för ett antal poster i en databas och använder mig av följande kod men får det inte att fungera. Databasen är en mysql-databas.

UPDATE post1 SET datum=(dateadd(mm, 1, datum))
WHERE format(datum, 'MM') = 12

Får inte detta att lira och undrar om någon ser några fel i det

Medlem sedan dec. 20025 483 inlägg
#2

Så här kanske:

update post1
   set datum
     = date_add(datum, interval 1 month)
 where month(datum)
     = 12
Medlem sedan sep. 200297 inlägg
#3

Verkar som det uppdaterar året 1 framåt också vilket det inte ska göra. Det ska bara ändra månad, ingenting annat

Medlem sedan dec. 20025 483 inlägg
#4

Då kanske du får göra så här:

update post1
   set datum
     = concat(year(datum),'-',month(datum) + 1,'-',day(datum))
 where month(datum)
     = 12

Använder du timmar, minuter o.s.v. är det bara att lägga till dem på samma vis. :)

Medlem sedan dec. 200012 464 inlägg
#5

Det går nog inte så bra då inte ens Mysql tycker att 13 är en giltig månad.

coolish:
Vad vill du ha för resultat?

Medlem sedan nov. 20017 144 inlägg
#6

LarsG skrev:

...då inte ens Mysql tycker att 13 är en giltig månad.

Fin pik sa sälen... :e

Medlem sedan dec. 20025 483 inlägg
#7

Red./ Läser man ditt originalinlägg långsammare är det väl helt enkelt följande du är ute efter?

update post1
   set datum
     = concat(year(datum),'-',1,'-',day(datum))
 where month(datum)
     = 12
Medlem sedan sep. 200297 inlägg
#8

Vad jag är ute efter är helt enkelt att uppdatera datumet 2005-08-02 14:31:23 till 2005-12-29 14:31:23

Jag vill uppdatera månaden och eventuellt dagen utan att påverka år, tid etc.

Tror jag hittade en lösning...

UPDATE annons SET datum=replace(datum, '08', '12')
WHERE annonsID=6724 AND (month(datum) = 08);

Medlem sedan dec. 200012 464 inlägg
#9

Det där fungerar inte jämt. T.ex om du har värdet

'2008-08-08 08:08:08'

så blir det inte så bra.

Vad jag är ute efter är helt enkelt att uppdatera datumet 2005-08-02 14:31:23 till 2005-12-29 14:31:23

Din update ändrar inte dagen, så jag tycket att det fortfarande är oklart vad du vill åstadkomma.

266 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)