2010-07-22 11 views

risposta

9

Dovrebbe essere facile come

UPDATE table SET datetime_field = CONCAT(date_field, " ", time_field); 
+0

Pekka grazie e Sadat, questo funziona. :) – Anup

1

@Pekka è giusto.

Inoltre è possibile utilizzare CONCAT_WS (separatore, val1, val2, ....)

CONCAT_WS(' ', date_field,time_field) 
4

Entrambe le altre risposte non convertono la data correttamente se l'uso utilizzare un TIME di "838: 00: 00" , che è un tempo valido secondo il mysql manual

così invece si può provare la conversione del campo di tempo di secondi e poi aggiungendoli
ad esempio:

date_field + INTERVAL TIME_TO_SEC(time_field) SECOND 

Questo convertirà la data di conseguenza

1
addtime(date_field, time_field) 
+0

per favore considera quanto segue [Come scrivere una buona risposta?] (Http://stackoverflow.com/help/how-to-answer) – hassan

+0

inoltre, sei sicuro che 'addtime' è una funzione definita da mysql? – hassan

+0

Hey Hassan - Non vedo perché è necessario aggiungere altro alla mia risposta - la gente vuole una soluzione rapida. Ecco la funzione mysql documentata: https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html –

Problemi correlati