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:

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:

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:

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 |
|---|---|---|
| 4120 | Pratique | 1996-09-26 16:44:15.581 |
Requête:
SELECT Name DATE(BirthTime)
AS BirthDate FROM Test;
Sortir:
java lecture csv
| Nom | Date de naissance |
|---|---|
| Pratique | 1996-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 |
|---|---|
| Pratique | 26 |
Requête pour extraire l'année :
SELECT Name Extract(YEAR FROM BirthTime)
AS BirthYear FROM Test;
Sortir:
| Nom | Année de naissance |
|---|---|
| Pratique | 1996 |
Requête pour extraire les secondes :
SELECT Name Extract(SECOND FROM
BirthTime) AS BirthSecond FROM Test;
Sortir:
| Nom | NaissanceDeuxième |
|---|---|
| Pratique | 581 |
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 |
|---|---|---|
| 4120 | Pratique | 1996-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 |
|---|---|
| Pratique | 1997-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é |
|---|---|
| Pratique | 1996-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 |
|---|---|
| Pratique | 1996-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 cacheintervalle - 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.