logo

Fonctions de date et d'heure MySQL

Manutention date et heure Les données dans MySQL sont essentielles pour de nombreuses opérations de base de données, en particulier lorsqu'il s'agit de gérer des horodatages, de planifier des tâches ou de générer des tâches basées sur le temps. MySQL fournit une variété de fonctions de date et d'heure qui aident les utilisateurs à travailler avec des valeurs de date, à effectuer des calculs et à les formater selon leurs besoins.

Ces fonctions permettent aux développeurs d'effectuer des calculs, d'extraire des parties spécifiques d'une date ou même de formater la sortie pour une meilleure lisibilité. Dans cet article, nous explorerons les fonctions de date MySQL les plus couramment utilisées, expliquerons leur syntaxe, fournirons des exemples et vous expliquerons comment les utiliser efficacement.

Comprendre les types de données de date et d'heure MySQL

Lorsque vous travaillez avec des dates dans MySQL, cela peut être délicat pour les débutants, notamment parce que le format de la date dans la base de données doit correspondre au format des données d'entrée lors de l'insertion. Dans de nombreux cas, au lieu d'utiliser simplement une simple date, nous devrons peut-être stocker à la fois une date et une heure en fonction du cas d'utilisation. C'est là que le DATETIME et TIMESTAMP les types de données entrent en jeu.



MySQL fournit les types de données suivants pour stocker les valeurs de date et d'heure :

1. DATE :

  • Format :YYYY-MM-DD
  • Utilisé pour stocker uniquement la date (année, mois et jour) sans aucune composante temporelle.

2. DATEHEURE :

  • Format :YYYY-MM-DD HH:MM:SS
  • Stocke à la fois la date et l'heure, ce qui est utile lorsque vous devez capturer des heures spécifiques avec la date.

3. HORODATAGE :

  • Format :YYYY-MM-DD HH:MM:SS
  • Semblable àDATETIMEmaisTIMESTAMPinclut également la prise en charge du fuseau horaire. Il se met automatiquement à jour avec l'horodatage actuel lorsqu'un enregistrement est modifié, ce qui le rend idéal pour suivre les modifications apportées aux enregistrements au fil du temps.

4. ANNÉE :

  • Format :YYYYouYY
  • Utilisé pour stocker uniquement l'année, ce qui peut être utile pour les applications où seule l'année est nécessaire, comme le suivi des années de naissance ou des années fiscales.

Fonctions de date et d'heure MySQL

Passons maintenant aux fonctions de date MySQL que vous pouvez utiliser pour manipuler et interroger efficacement les données de date et d'heure.

conversion et conversion de type Java

1. MAINTENANT() - Obtenir la date et l'heure actuelles

Le MAINTENANT() La fonction récupère la date et l'heure actuelles dans AAAA-MM-JJ HH:MI:SS format.

Requête:

SELECT NOW();  

Sortir:

maintenant l'image de sortie de la méthode' title=

2. CURDATE() - Obtenir la date actuelle uniquement

Si nous n'avons besoin que de la date actuelle sans la partie heure, nous pouvons utiliser CURDATE() qui renvoie la date dans YYYY-MM-DD format.

Requête:

SELECT CURDATE();  

Sortir: 

SORTIE2' loading='lazy' title=

3. CURTIME() - Obtenir l'heure actuelle uniquement

La fonction CURTIME() renvoie l'heure actuelle dans HH:MI:SS format excluant la date.

Requête:

SELECT CURTIME();  

Sortir: 

SORTIE3' loading='lazy' title=

4. DATE() - Extraire la partie date d'une valeur DATETIME

LeDATE()La fonction extrait uniquement la partie date d'unDATETIMEouTIMESTAMPvaleur en rejetant le temps.

Exemple: Pour une table appelée users :

Identifiant Nom Heure de naissance
4120Pratique1996-09-26 16:44:15.581

Requête:

SELECT Name DATE(BirthTime)   
AS BirthDate FROM Test;

Sortir:

java lecture csv
Nom Date de naissance
Pratique1996-09-26

5. EXTRACT() - Extraire des parties de date spécifiques

EXTRACT()est utilisé pour extraire des parties spécifiques d'une date telles que le jour, le mois ou l'année. Cette fonction peut être particulièrement utile lors de l’analyse ou de la comparaison de différentes parties d’une date. Plusieurs unités peuvent être envisagées mais seules certaines sont utilisées comme MICROSECONDE DEUXIÈME MINUTE HEURE JOUR SEMAINE MOIS TRIMESTRE ANNÉE etc. Et « date » est une expression de date valide.

Syntaxe:

EXTRAIT(unité DE date);

Requête pour extraire le jour :

SELECT Name Extract(DAY FROM   
BirthTime) AS BirthDay FROM Test;

Sortir: 

Nom Anniversaire
Pratique26

Requête pour extraire l'année :

SELECT Name Extract(YEAR FROM BirthTime)  
AS BirthYear FROM Test;

Sortir: 

Nom Année de naissance
Pratique1996

Requête pour extraire les secondes :

SELECT Name Extract(SECOND FROM   
BirthTime) AS BirthSecond FROM Test;

Sortir:

Nom NaissanceDeuxième
Pratique581

6. DATE_ADD() - Ajouter des intervalles à une date

Le DATE_ADD() La fonction vous permet d'ajouter des intervalles de temps (par exemple, jours, mois, années) à une date ouDATETIMEvaleur.

Syntaxe:

DATE_ADD (type d'expression INTERVAL de date);

chaîne java remplacer

Exemple: Pour le tableau ci-dessous nommé ' Test '

Identifiant Nom Heure de naissance
4120Pratique1996-09-26 16:44:15.581

Requête à Ajouter 1 an à une date

SELECT Name DATE_ADD(BirthTime INTERVAL   
1 YEAR) AS BirthTimeModified FROM Test;

Sortir:

Nom Heure de naissanceModifiée
Pratique1997-09-26 16:44:15.581

Requête pour ajouter 30 jours à une date

SELECT Name DATE_ADD(BirthTime   
INTERVAL 30 DAY) AS BirthDayModified FROM Test;

Sortir:

Nom Jour de naissanceModifié
Pratique1996-10-26 16:44:15.581

Requête pour ajouter 4 heures à une date

SELECT Name DATE_ADD(BirthTime INTERVAL  
4 HOUR) AS BirthHourModified FROM Test;

Sortir: 

Nom NaissanceDeuxième
Pratique1996-10-26 20:44:15.581

7. DATEIFF() – Trouvez la différence entre deux dates

Cette fonction renvoie le nombre de jours entre deux dates. 

Syntaxe:

DATEDIFF(intervalledate1 date2);

npm nettoyer le cache

intervalle - minute/heure/mois/année, etc.

date1 & date2- expression date/heure

Requête à Trouvez la différence entre deux dates

SELECT DATEDIFF(day '2017-01-13' '2017-01-03') AS DateDiff;  

Sortir: 

DateDiff

8. DATE_FORMAT() - Format de la date et de l'heure

DATE_FORMAT() nous permet de formater un DATE DATEHEURE ou HORODATAGE valeur dans un format personnalisé à l’aide d’espaces réservés.

bloquer les publicités YouTube sur Android

Syntaxe:

DATE_FORMAT(formatdate);

la date est une date valide et le format spécifie le format de sortie pour la date/heure. Les formats pouvant être utilisés sont :

  • %a-Nom abrégé du jour de la semaine (dim-sam)
  • %b-Nom du mois abrégé (janvier-décembre)
  • %c-Mois numérique (0-12)
  • %J-Jour du mois avec suffixe anglais (0e 1er 2e 3e)
  • %d-Jour du mois numérique (00-31)
  • %e-Jour du mois numérique (0-31)
  • %f-Microsecondes (000000-999999)
  • %H-Heure (00-23)
  • %h-Heure (01-12)
  • %I-Heure (01-12)
  • %i-Minutes numérique (00-59)
  • %j-Jour de l'année (001-366)
  • %k-heure (0-23)
  • %l-heure (1-12)
  • %M-Nom du mois (janvier-décembre)
  • %m-Mois numérique (00-12)
  • %p-AM ou PM
  • %r-Time 12 heures (hh:mm : ss suivi de AM ou PM)
  • %S-secondes (00-59)
  • %s-secondes (00-59)
  • %T-Heure 24 heures (hh:mm: ss)
  • %U-Week (00-53) où dimanche est le premier jour de la semaine
  • %u-Week (00-53) où lundi est le premier jour de la semaine
  • %V-Week (01-53) où dimanche est le premier jour de la semaine utilisé avec %X
  • %v-Week (01-53) où lundi est le premier jour de la semaine utilisé avec %x
  • %W-Nom du jour de la semaine (dimanche-samedi)
  • %w-Jour de la semaine (0=dimanche 6=samedi)
  • %X-Year pour la semaine où dimanche est le premier jour de la semaine, quatre chiffres utilisés avec %V
  • %x-Année pour la semaine où lundi est le premier jour de la semaine, quatre chiffres utilisés avec %v
  • %Y-Year numérique à quatre chiffres
  • %a-Année numérique à deux chiffres

Requête pour formater une date

SELECT DATE_FORMAT('2025-04-10 12:34:56' '%W %M %d %Y') AS formatted_date;

Sortir:

Date_formatée
jeudi 10 avril 2025

Meilleures pratiques pour travailler avec la date et l'heure dans MySQL

1. Utilisez toujours les formats de date appropriés

Lors de l'insertion ou de la mise à jour de dates, assurez-vous de suivre les formats attendus par MySQL (YYYY-MM-DD YYYY-MM-DD HH:MI:SS). Cela garantit que vos requêtes renvoient les résultats attendus sans erreurs.

2. Considérations sur le fuseau horaire avec TIMESTAMP

Alors queDATETIMEne stocke pas les informations de fuseau horaireTIMESTAMPfait. Si votre application est sensible au fuseau horaire (par exemple dans les applications internationales), envisagez d'utiliserTIMESTAMPpour les champs date-heure qui doivent prendre en compte différents fuseaux horaires.

3. Gestion des plages de dates dans les requêtes

Pour filtrer les données en fonction de plages de dates (par exemple, récupérer tous les enregistrements d'un mois ou d'une année spécifique), assurez-vous d'utiliser des comparaisons de dates appropriées dans leWHEREclause. Exemple:

SELECT * FROM orders  
WHERE order_date BETWEEN '2025-01-01' AND '2025-01-31';

4. Considérations relatives aux performances

Lorsque vous travaillez avec des fonctions de date et d'heure, en particulier dans des ensembles de données volumineux, soyez conscient de l'impact sur les performances. Évitez d'utiliser des fonctions commeNOW()ouCURDATE()dans leWHEREcar ils peuvent ralentir les requêtes lorsqu’il s’agit de tables volumineuses.

Conclusion

Fonctions de date et d'heure de MySQL sont des outils essentiels pour manutention et manipuler données temporelles au sein de vos bases de données. En maîtrisant des fonctions commeNOW() CURDATE() DATE_ADD() DATEDIFF()etDATE_FORMAT()vous pouvez facilement travailler avec calculs basés sur le temps comparaisons et formats . La clé pour utiliser efficacement ces fonctions est de comprendre leur syntaxe, quand et comment les utiliser, ainsi que leurs implications en termes de performances dans de grands ensembles de données. Grâce à ces connaissances, vous serez en mesure de créer des requêtes plus efficaces, précises et évolutives pour tous vos besoins liés à la date et à l'heure dans MySQL.

Créer un quiz