webForumDet fria alternativet

Uppdatera datum

8 svar · 396 visningar · startad av coolish

coolishMedlem sedan sep. 200297 inlägg
#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

Peter SMedlem sedan dec. 20025 484 inlägg
#2

Så här kanske:

update post1
   set datum
     = date_add(datum, interval 1 month)
 where month(datum)
     = 12
coolishMedlem 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

Peter SMedlem sedan dec. 20025 484 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. :)

LarsGMedlem sedan dec. 200012 465 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?

Jesper TMedlem sedan nov. 20017 058 inlägg
#6

LarsG skrev:

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

Fin pik sa sälen... :e

Peter SMedlem sedan dec. 20025 484 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
coolishMedlem 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);

LarsGMedlem sedan dec. 200012 465 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.

124 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
122 ms — hämta tråd, inlägg och bilagor (db)