11
votes

Ajouter des champs Date et heure pour obtenir le champ DateTime dans MySQL

J'essaie d'obtenir un champ DateTime à partir d'une date et d'un champ de temps. Aucune des fonctions de MySQL ne semble utile.

Est-ce que quelqu'un est conscient comment faire cela ou que si cela peut même être fait? :)


0 commentaires

4 Réponses :


13
votes

Il devrait être aussi simple que

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


0 commentaires

1
votes

@pekka a raison.

Vous pouvez également utiliser CONCAT_WS (séparateur, VAL1, VAL2, ....) P>

CONCAT_WS(' ', date_field,time_field)


0 commentaires

7
votes

Les deux autres réponses ne convertissent pas la date correctement si vous utilisez Utilisez un de "838: 00: 00" qui est un temps valide selon le MySQL manuel

Donc, vous pouvez essayer de convertir le champ TIME en secondes, puis en les ajoutant. de
Par exemple: xxx

Ceci convertira la date en conséquence


0 commentaires

4
votes
addtime(date_field, time_field)

4 commentaires

Veuillez considérer les Comment puis-je écrire une bonne réponse?


Aussi, êtes-vous sûr que addtime est une fonction mysql définie?


Hey Hassan - Je ne vois pas pourquoi il est nécessaire d'ajouter quelque chose de plus à ma réponse - les gens veulent une solution rapide. Voici la fonction MySQL documentée: Dev.MYSQL. COM / DOC / REFMAN / 5.7 / EN / Date-and-Time-Fonctions.html


Si DATE_FIELD est le type de date, vous devez d'abord le jeter sur DateTime, car il ne fera pas de type automatique de type de date à DateTime