logo

Fonctions de dates SQL

Dans ce didacticiel, nous découvrirons certaines des fonctions de date importantes intégrées à SQL.

Fonctions de date en SQL :

  1. MAINTENANT()
  2. CURDATE()
  3. CURTIME()
  4. DATE()
  5. EXTRAIT()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEIFF()
  9. FORMAT DE DATE()

Voyons chacune des fonctions de date une par une en détail à l'aide d'exemples. Nous utiliserons la base de données MySQL dans des exemples pour écrire les requêtes.

Considérons que nous avons la table des étudiants avec les données suivantes :

IDENTIFIANT Nom DateHeure_Naissance Ville
1 Mansi Shah 2010-01-01 18:39:09 Puné
2 Tejal Wagh 2010-03-04 05:13:19 Nasik
3 Sejal Kumari 2010-05-01 10:31:07 Bombay
4 Sonal Jain 2010-09-09 17:17:07 Shimla
5 Surili Maheshwari 2010-07-10 20:45:18 Lettre

Nous utiliserons ce tableau dans certains des exemples.

1. MAINTENANT() :

La fonction NOW () dans SQL donnera la date et l'heure actuelles du système.

Syntaxe:

 SELECT NOW (); 

Exemple:

Écrivez une requête pour afficher la date et l'heure actuelles du système.

Requête:

 mysql> SELECT NOW () AS Current_Date_Time; 

Ici, nous avons écrit une requête SELECT avec la fonction NOW() pour obtenir la date et l'heure actuelles du système. Current_Date_Time est un alias pour stocker la date et l'heure.

Après avoir exécuté la requête ci-dessus, nous avons obtenu le résultat suivant :

Date_heure_actuelle
2021-10-24 18:28:44

La date et l'heure auxquelles la requête a été exécutée dans le système sont 24èmeOctobre 2021 et 18:28:44. Par conséquent, il est affiché comme sortie.

2. CURDATE()

La fonction CURDATE() en SQL donnera la date du système actuel.

javascript pour la boucle

Syntaxe:

 SELECT CURDATE (); 

Exemple:

Écrivez une requête pour afficher la date du système actuel.

Requête:

 mysql> SELECT CURDATE () AS CurrentDate; 

Ici, nous avons écrit une requête SELECT avec la fonction CURDATE() pour obtenir la date actuelle du système. CurrentDate est un alias pour stocker la date.

Après avoir exécuté la requête ci-dessus, nous avons obtenu le résultat suivant :

Date actuelle
2021-10-24

La date à laquelle la requête a été exécutée dans le système est le 24èmeOctobre 2021. Par conséquent, il est affiché comme sortie.

3. COURTIME()

La fonction CURTIME() dans SQL donnera l'heure actuelle du système.

Syntaxe:

 SELECT CURTIME (); 

Exemple:

Écrivez une requête pour afficher l'heure actuelle du système.

Requête:

 mysql> SELECT CURTIME () AS CurrentTime; 

Ici, nous avons écrit une requête SELECT avec la fonction CURTIME() pour obtenir l'heure actuelle du système. CurrentTime est un alias pour stocker l'heure.

Après avoir exécuté la requête ci-dessus, nous avons obtenu le résultat suivant :

Heure actuelle
18:49:07

L'heure à laquelle la requête a été exécutée dans le système est 18:49:07. Par conséquent, il est affiché comme sortie.

4. DATE()

À l'aide de la fonction DATE() dans SQL, vous pouvez spécifiquement extraire la date de la colonne de type de données DATETIME.

Syntaxe:

 SELECT DATE (DateTimeValue); 

Exemple 1:

Écrivez une requête pour afficher la date à partir de la date et de l'heure données, c'est-à-dire 2021-10-24 18:28:44.

Requête:

 mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE; 

Ici, nous avons écrit une requête SELECT avec la fonction DATE() pour obtenir uniquement la date du paramètre date et heure passé à la fonction DATE(). SHOW_DATE est un alias pour stocker la date.

Après avoir exécuté la requête ci-dessus, nous avons obtenu le résultat suivant :

SHOW_DATE
2021-10-24

À partir du paramètre de date et d'heure, c'est-à-dire « 2021-10-24 18:28:44 », la valeur de la date est 2021-10-24. Par conséquent, il est affiché comme sortie.

Exemple 2 :

Écrivez une requête pour afficher tous les détails de la table des étudiants avec la date de la colonne DateTime_Birth de la table des étudiants.

Requête:

 mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student; 

Ici, nous avons écrit une requête SELECT pour récupérer l'ID et le nom. Date_of_Birth est un alias pour DateTime_Birth. Nous avons utilisé Date_of_Birth avec la fonction DATE() pour obtenir uniquement la date.

Après avoir exécuté la requête ci-dessus, nous avons obtenu le résultat suivant :

IDENTIFIANT Nom Date de naissance Ville
1 Mansi Shah 2010-01-01 Puné
2 Tejal Wagh 2010-03-04 Nasik
3 Sejal Kumari 2010-05-01 Bombay
4 Sonal Jain 2010-09-09 Shimla
5 Surili Maheshwari 2010-07-10 Lettre

Tous les enregistrements sont affichés tels quels à partir de la table des étudiants, à l'exception de la colonne DateTime_Birth. Seule la date est affichée dans la colonne Date_of_Birth conformément aux exigences.

5. EXTRAIT()

En utilisant la fonction EXTRACT() en SQL, nous pouvons extraire une partie spécifique de la date et de l'heure selon nos besoins : jour, mois, année, jour, heure, minute, etc.

Syntaxe:

 SELECT EXTRACT (PART FROM DATE / TIME); 

Exemple 1:

Écrivez une requête pour afficher l'année à partir de la date donnée, c'est-à-dire 24èmeOctobre 2021.

Requête:

 mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR; 

Ici, nous avons écrit une requête SELECT avec la fonction EXTRACT() pour obtenir l'année à partir de la date donnée. SHOW_YEAR est un alias pour stocker l'année.

Après avoir exécuté la requête ci-dessus, nous avons obtenu le résultat suivant :

SHOW_YEAR
2021

« 2021 » est l'année à la date indiquée. Par conséquent, il est affiché comme sortie.

Exemple 2 :

Écrivez une requête pour afficher le mois à partir de la date donnée, c'est-à-dire 24èmeOctobre 2021.

Requête:

 mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH; 

Ici, nous avons écrit une requête SELECT avec la fonction EXTRACT() pour obtenir le mois à partir de la date donnée. SHOW_MONTH est un alias pour stocker le mois.

Après avoir exécuté la requête ci-dessus, nous avons obtenu le résultat suivant :

java fin de la boucle
SHOW_MONTH
dix

dixèmeest la valeur du mois à la date donnée. Par conséquent, il est affiché comme sortie.

Exemple 3 :

Écrivez une requête pour afficher le jour à partir de la date donnée, c'est-à-dire 24èmeOctobre 2021.

Requête:

 mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY; 

Ici, nous avons écrit une requête SELECT avec la fonction EXTRACT() pour obtenir le jour à partir de la date donnée. SHOW_DAY est un alias pour stocker le jour.

Après avoir exécuté la requête ci-dessus, nous avons obtenu le résultat suivant :

JOUR DE SPECTACLE
24

24èmeest la valeur du jour à la date donnée. Par conséquent, il est affiché comme sortie.

Exemple 4 :

Écrivez une requête pour afficher l'heure à partir de l'heure donnée, c'est-à-dire 19:10:43.

Requête:

 mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR; 

Ici, nous avons écrit une requête SELECT avec la fonction EXTRACT() pour obtenir l'heure à partir de l'heure donnée. SHOW_HOUR est un alias pour stocker la valeur d'une heure.

Après avoir exécuté la requête ci-dessus, nous avons obtenu le résultat suivant :

SHOW_HOUR
19

« 19 » est la valeur horaire dans le temps donné. Par conséquent, il est affiché comme sortie.

Exemple 5 :

Écrivez une requête pour afficher la minute à partir de l'heure donnée, c'est-à-dire 19:10:43.

Requête:

 mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE; 

Ici, nous avons écrit une requête SELECT avec la fonction EXTRACT() pour obtenir la valeur minute à partir de l'heure donnée. SHOW_MINUTE est un alias pour stocker la minute.

Après avoir exécuté la requête ci-dessus, nous avons obtenu le résultat suivant :

SHOW_MINUTE
dix

« 10 » est la valeur des minutes dans le temps donné. Par conséquent, il est affiché comme sortie.

Exemple 6 :

Écrivez une requête pour afficher les secondes à partir de l'heure donnée, c'est-à-dire 19:10:43.

Requête:

java ajouter à un tableau
 mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND; 

Ici, nous avons écrit une requête SELECT avec la fonction EXTRACT() pour obtenir la valeur des secondes à partir de l'heure donnée. SHOW_SECOND est un alias pour stocker la valeur d'une seconde.

Après avoir exécuté la requête ci-dessus, nous avons obtenu le résultat suivant :

SHOW_SECOND
43

43 est la deuxième valeur dans le temps donné. Par conséquent, il est affiché comme sortie.

6. DATE_ADD()

En utilisant la fonction DATE_ADD() en SQL, nous pouvons ajouter un intervalle de temps spécifique à la date donnée.

Syntaxe:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

Exemple 1:

Écrivez une requête pour ajouter un intervalle de 15 jours à la date donnée, soit 24èmeOctobre 2021.

Requête:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Ici, nous avons écrit une requête SELECT avec la fonction DATE_ADD() pour ajouter un intervalle de 15 jours à la date donnée. NEW_DATE est un alias pour stocker la valeur d'une nouvelle date.

Vous obtiendrez le résultat suivant :

NOUVEAU_DATE
2021-11-08

Après avoir ajouté un intervalle de 15 jours au 2021-10-24, la nouvelle date est le 2021-11-08.

Exemple 2 :

Écrivez une requête pour ajouter un intervalle de 5 mois à la date donnée, soit 24èmeOctobre 2021.

Requête:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Ici, nous avons écrit une requête SELECT avec la fonction DATE_ADD() pour ajouter un intervalle de 5 mois à la date donnée. NEW_DATE est un alias pour stocker la valeur d'une nouvelle date.

Vous obtiendrez le résultat suivant :

NOUVEAU_DATE
2022-03-24

Après avoir ajouté un intervalle de 5 mois au 2021-10-24, la nouvelle date est le 2022-03-24.

Exemple 3 :

Shreya Ghoshal, premier mari

Écrivez une requête pour ajouter un intervalle de 25 ans à la date donnée, c'est-à-dire 24èmeOctobre 2021.

Requête:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Ici, nous avons écrit une requête SELECT avec la fonction DATE_ADD() pour ajouter un intervalle de 25 ans à la date donnée. NEW_DATE est un alias pour stocker la valeur d'une nouvelle date.

Vous obtiendrez le résultat suivant :

NOUVEAU_DATE
2046-10-24

Après avoir ajouté un intervalle de 25 ans au 2021-10-24, la nouvelle date est le 2046-10-24.

7. DATE_SUB()

En utilisant la fonction DATE_SUB() en SQL, nous pouvons supprimer un intervalle de temps spécifique à partir de la date donnée.

Syntaxe:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

Exemple 1:

Écrivez une requête pour supprimer un intervalle de 25 ans à partir de la date donnée, c'est-à-dire 24èmeOctobre 2021.

Requête:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Ici, nous avons écrit une requête SELECT avec la fonction DATE_SUB() pour supprimer un intervalle de 25 ans à partir de la date donnée. NEW_DATE est un alias pour stocker la valeur d'une nouvelle date.

Vous obtiendrez le résultat suivant :

NOUVEAU_DATE
1996-10-24

Après avoir supprimé l'intervalle de 25 ans du 2021-10-24, la nouvelle date est le 1996-10-24.

Exemple 2 :

Écrivez une requête pour supprimer un intervalle de 5 mois à partir de la date donnée, soit 24èmeOctobre 2021.

Requête:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Ici, nous avons écrit une requête SELECT avec la fonction DATE_SUB() pour supprimer un intervalle de 5 mois à partir de la date donnée. NEW_DATE est un alias pour stocker la valeur d'une nouvelle date.

Vous obtiendrez le résultat suivant :

NOUVEAU_DATE
2021-05-24

Après avoir supprimé l'intervalle de 5 mois du 2021-10-24, la nouvelle date est le 2021-05-24.

Exemple 3 :

Écrivez une requête pour supprimer un intervalle de 15 jours à partir de la date donnée, soit 24èmeOctobre 2021.

Requête:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Ici, nous avons écrit une requête SELECT avec la fonction DATE_SUB() pour supprimer un intervalle de 15 jours à partir de la date donnée. NEW_DATE est un alias pour stocker la valeur d'une nouvelle date.

Vous obtiendrez le résultat suivant :

NOUVEAU_DATE
2021-10-09

Après avoir supprimé l'intervalle de 15 jours du 2021-10-24, la nouvelle date est le 2021-10-09.

8. DATEIFF()

L'utilisation de la fonction DATEDIFF() en SQL nous donnera le nombre de jours entre les deux dates données.

Syntaxe:

 SELECT DATEDIFF(Date1, Date2); 

Exemple 1:

Écrivez une requête pour calculer la différence entre deux dates données, c'est-à-dire 24èmeOctobre 2021 et 9èmeOctobre 2021.

Requête:

 mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE; 

Ici, nous avons écrit une requête SELECT avec la fonction DATE_DIFF() pour obtenir la différence entre les dates 2021-10-24 et 2021-10-09. Number_of_Days est un alias pour stocker la différence en termes de nombre de jours.

Vous obtiendrez le résultat suivant :

Nombre de jours
quinze

Il y a un écart de 15 jours entre les dates 2021-10-24 et 2021-10-09.

Exemple 2 :

Écrivez une requête pour calculer la différence entre deux dates données, c'est-à-dire 5èmeMai 2018 et 5èmeMai 2008.

Requête:

 mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE; 

Ici, nous avons écrit une requête SELECT avec la fonction DATE_DIFF () pour obtenir la différence entre les dates 2018-05-05 et 2008-05-05. Number_of_Days est un alias pour stocker la différence en termes de nombre de jours.

Vous obtiendrez le résultat suivant :

Nombre de jours
3652

Il y a une différence de 3652 jours entre les dates 2018-05-05 et 2008-05-05.

9. DATE_FORMAT()

En utilisant la fonction DATE_FORMAT() en SQL, nous pouvons afficher les informations relatives à la date ou à l'heure de manière bien formatée.

Syntaxe d'utilisation d'une fonction DATE_FORMAT sur la colonne d'une table :

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

OU

Syntaxe pour formater une date spécifique :

 SELECT DATE_FORMAT (Date, Expression); 

Exemple 1:

Écrivez une requête pour afficher la date donnée de manière bien formatée, c'est-à-dire 24èmeOctobre 2021.

Requête:

 mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date; 

Ici, nous avons écrit une requête SELECT avec la fonction DATE_FORMAT() pour obtenir la date 2021-10-24 sous la forme formatée. Formatted_Date est un alias pour stocker la date formatée.

mvc avec java

Vous obtiendrez le résultat suivant :

Date_formatée
dimanche 24 octobre 2021

Le dimanche 24 octobre 2021 est la date formatée pour le 24/10/2021.

Exemple 2 :

Écrivez une requête pour afficher la date et l'heure données d'une manière bien formatée, c'est-à-dire 24èmeOctobre 2021 22:30:17.

Requête:

 mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime; 

Ici, nous avons écrit une requête SELECT avec la fonction DATE_FORMAT () pour obtenir la date et l'heure « 2021-10-24 22:30:17 » sous la forme formatée. Formatted_DateTime est un alias pour stocker la date et l'heure formatées.

Vous obtiendrez le résultat suivant :

Formaté_DateTime
dimanche 24 octobre 2021 22:30:17

Le dimanche 24 octobre 2021 à 22:30:17 est la date et l'heure formatées pour le 24/10/2021 à 22:30:17.

Exemple 3 :

Écrivez une requête pour afficher tous les détails de la colonne étudiant avec la colonne DateTime_Birth d'une manière bien formatée.

Requête:

 mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student; 

Ici, nous avons écrit une requête SELECT avec la fonction DATE_FORMAT() pour obtenir la date et l'heure de tous les enregistrements sous une forme formatée. Formatted_DateTime est un alias pour stocker la date et l'heure formatées.

Vous obtiendrez le résultat suivant :

IDENTIFIANT Nom Formaté_DateTime Ville
1 Mansi Shah vendredi 1er janvier 2010 18:39:09 Puné
2 Tejal Wagh jeudi 4 mars 2010 05:13:19 Nasik
3 Sejal Kumari samedi 1er mai 2010 10:31:07 Bombay
4 Sonal Jain jeudi 9 septembre 2010 17:17:07 Shimla
5 Surili Maheshwari samedi 10 juillet 2010 20:45:18 Lettre

Tous les enregistrements sont affichés tels quels à partir de la table des étudiants, à l'exception de la colonne DateTime_Birth. Seules la date et l'heure sont affichées dans la colonne Formatted_DateTime selon les besoins.