06. juni 2006 - 12:21
Der er
9 kommentarer og 1 løsning
Opdater kun tid i datetime
Som sagt, har en datetime, hvor jeg vil opdatere tiden til f.eks. 17:00:00 - men bevare datoen som den er, hvordan gør jeg det? Hilfe
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
Det kan gøres med FROM/TO_DAYS og intervaller: UPDATE table SET foodatetime = FROM_DAYS(TO_DAYS(foodatetime)) + INTERVAL 17 HOURS Men gøres nok lidt mere effektiv som streng-håndtering: UPDATE table SET foodatetime = SUBSTRING(foodatetime,0,11) + '17:00:00 Selvom det ikke er verdens pæneste løsning. -- Morten Barklund
DATE table SET foodatetime = SUBSTRING(foodatetime,0,11) + '17:00:00 Ja klart, men erfarer at jeg skal skrive 1,11 istedet - ellers er feltet tomt.... og jeg kan ikke rigtigt ligge de '17:00:00' til strengen, så bliver den bare default / 00:00:00 :-/ hmm...
Min query: UPDATE calendar SET dateStart = substring(dateStart,1,11) + "16:30:00" WHERE calendarID = 1
Så skal du måske bruge 1,12 for at få mellemrummet med.
Har prøvet ,12 og alt muligt, lagt mellemrum ind i " 16:30:00" etc - som om den bare ikke læses korrekt :-/
hvilket programmerings sprog ? muligvis er SQL ikke det bedste valg til opgaven !
sandt, jeg burde lave en : select(){ update() }
Nu har jeg ikke adgang til MySQL pt. og kan derfor ikke teste det, men burde det ikke kunne gøres sådan? UPDATE calendar SET dateStart = FROM_UNIXTIME(UNIX_TIMESTAMP(DATE(dateStart)) + TIME_TO_SEC('16:30:00'))
Måske kan du også bruge sådan en? UPDATE calendar SET dateStart = STR_TO_DATE(DATE_FORMAT(dateStart,'%Y%m%d') + '16:30:00', '%Y%m%d%T')
14. marts 2007 - 16:44
#10
ole lukke og slukke-øje was here
Computerworld tilbyder specialiserede kurser i database-management