Maison >base de données >tutoriel mysql >jours de requête MySQL

jours de requête MySQL

王林
王林original
2023-05-23 14:18:082679parcourir

Jours de requête MySQL

Dans le développement de bases de données, il est souvent nécessaire d'interroger la différence d'heure et de date, comme calculer le nombre de jours, d'heures, de minutes, etc. entre deux dates. MySQL fournit quelques fonctions pour implémenter cette fonction, qui permet de calculer facilement la différence entre l'heure et la date.

1. Fonction DATEDIFF

La fonction DATEDIFF renvoie la différence en jours entre deux dates. La syntaxe est la suivante :

DATEDIFF(date1,date2)

où date1 et date2 sont deux dates ou valeurs datetime, et la fonction renvoie la différence en jours entre les deux dates. Si date1 est postérieure à date2, la valeur de retour est positive, sinon la valeur de retour est négative.

Par exemple :

SELECT DATEDIFF('2019-01-03','2018-12-31'); // 输出3

Recherchez la différence de jours d'enregistrement de l'utilisateur dans deux tables :

SELECT DATEDIFF(reg_time,now()) AS days FROM user;

2. Fonction TIMESTAMPDIFF

La fonction TIMESTAMPDIFF renvoie la différence de temps entre deux dates. La syntaxe est la suivante :

TIMESTAMPDIFF(unit,start,stop)

où unit représente l'unité de calcul du décalage horaire, qui peut être les secondes (SECOND), les minutes (MINUTE), les heures (HOUR), les jours (DAY), les semaines (WEEK), les mois ( MOIS) ou années ( ANNÉE).

start et stop représentent la date de début et la date de fin, qui peuvent être des valeurs date ou datetime. La fonction renvoie le décalage horaire entre deux dates en unités. Si le démarrage est postérieur à l'arrêt, la valeur de retour est positive, sinon la valeur de retour est négative.

Par exemple :

SELECT TIMESTAMPDIFF(MONTH,'2018-02-28','2018-03-31'); // 输出1

Interrogez la durée d'inscription de l'utilisateur :

SELECT TIMESTAMPDIFF(DAY,reg_time,now()) AS days FROM user;

3. Fonction TIMEDIFF

La fonction TIMEDIFF renvoie le décalage horaire entre deux heures au format hh:mm:ss. La syntaxe est la suivante :

TIMEDIFF(time1, time2)

où time1 et time2 sont des valeurs d'heure ou de date, et la fonction renvoie la différence de temps entre time1 et time2.

Par exemple :

SELECT TIMEDIFF('18:30:00', '17:00:00'); // 输出01:30:00

Interrogez le délai de livraison d'une commande :

SELECT TIMEDIFF(end_time,start_time) AS duration FROM order WHERE order_id=123;

IV. Fonction TIME_TO_SEC et fonction SEC_TO_TIME

La fonction TIME_TO_SEC convertit la valeur du temps en secondes, la syntaxe est la suivante :

TIME_TO_SEC(time)

où le temps est le heure ou heure date Valeur, la fonction renvoie le nombre total de secondes de temps. La fonction

SEC_TO_TIME convertit les secondes en valeur temporelle. La syntaxe est la suivante :

SEC_TO_TIME(seconds)

où secondes représente le nombre de secondes et la fonction renvoie la valeur temporelle correspondante.

Par exemple :

SELECT TIME_TO_SEC('01:30:00'); // 输出5400
SELECT SEC_TO_TIME(5400); // 输出01:30:00

5. Résumé

MySQL fournit plusieurs fonctions pour calculer la différence d'heure et de date, qui peuvent être sélectionnées et utilisées de manière flexible en fonction des besoins. Dans le développement réel, des méthodes de calcul appropriées doivent être sélectionnées en fonction des besoins spécifiques de l'entreprise afin de mieux mettre en œuvre les fonctions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn