Je suppose que c'est relativement simple à faire, mais je ne suis pas sûr de la syntaxe. J'ai des colonnes de date et d'heure que je souhaite combiner à une colonne d'horodatage. comment pourrais-je l'interroger en utilisant une sélection?
Mysql ne semble pas avoir de constructeur pour datetime tel que datetime ('2017-10-26', '09: 28: 00 '). Vous devrez donc traiter la partie composant comme une chaîne et utiliser la fonction de concaténation de chaîne (Remarque mysql n'a pas l'opérateur || pour la concaténation de chaîne). Si vous voulez le type datetime, vous devrez le caster.
concat(datefield,' ',timefield) as date
select cast(concat('2017-10-26', ' ', '09:28:00') as datetime) as dt;
Ou vous pouvez essayer la fonction intégrée TIMESTAMP(date,time)
.
S'il est possible d'utiliser la fonction intégrée, il suffit de l'utiliser. Quoi qu'il en soit, voici un exemple pour trouver des enregistrements entre des horodatages donnés.
SELECT `id` FROM `ar_time` WHERE TIMESTAMP(`cdate`,`ctime`) BETWEEN fromTimeStamp AND nowTimeStamp;
Pour 24 heures
TIMESTAMP(Date, STR_TO_DATE(Time, '%h:%i %p'))
SELECT * FROM tablename WHERE TIMESTAMP(datecol, timecol) > '2015-01-01 12:00:00';
O.P. a dit SELECT
mais au cas où quelqu'un voudrait ajouter une colonne d'horodatage :
ALTER TABLE `t` ADD COLUMN `stamp` TIMESTAMP;
UPDATE `t` SET `stamp` = STR_TO_DATE(CONCAT(`Date`, ' ', `Time`), '%m/%d/%Y %H:%i:%s');
Ajustez formatez les chaînes au goût.