Gestion des dates – Partie 3
Fait partie de la section Les fondamentaux du Journey SQL de Coddy. Leçon 33 sur 72.
SQL fournit plusieurs fonctions utiles pour manipuler et formater les dates. Voici quelques fonctions courantes de date :
DATE()- Convertit une chaîne en dateSTRFTIME()- Formate les dates selon les paramètres spécifiésDATE('now')- Obtient la date actuelle :
Par exemple, convertir une chaîne en date :
SELECT DATE('2023-05-15 13:45:00')
-- Retourne : 2023-05-15
SELECT DATE('now')
-- Retourne la date actuellePar exemple, extraire l’année, le mois et le jour d’une date :
-- Obtenir l'année
SELECT STRFTIME('%Y', '2023-05-15')
-- Retourne : 2023
-- Obtenir le mois
SELECT STRFTIME('%m', '2023-05-15')
-- Retourne : 05
-- Obtenir le jour
SELECT STRFTIME('%d', '2023-05-15')
-- Retourne : 15
-- Afficher la combinaison de l'année et du jour (n'importe quel séparateur peut être utilisé)
SELECT STRFTIME('%Y:%d', '2023-05-15')
-- Retourne : 2023:15
-- Utiliser un tiret comme séparateur à la place
SELECT STRFTIME('%d-%m-%Y', '2023-05-15')
-- Retourne : 15-05-2023
-- Obtenir le jour de la semaine
SELECT STRFTIME('%w', '2023-05-15')
-- Retourne : 1 (lundi ; dimanche est 0)Spécificateurs de format courants :
- %Y : Année (4 chiffres)
- %m : Mois (01-12)
- %d : Jour du mois (01-31)
- %w : Jour de la semaine (0-6, dimanche vaut 0)
- %H : Heure (00-23)
- %M : Minute (00-59)
- %S : Seconde (00-59)
Vous pouvez utiliser n’importe quel caractère séparateur entre les spécificateurs (par exemple -, :, /). Par exemple, STRFTIME('%d-%m-%Y', date) et STRFTIME('%d:%m:%Y', date) combinent tous deux le jour, le mois et l’année, mais avec des séparateurs différents.
Vous pouvez combiner ces fonctions dans les requêtes :
-- Trouver tous les enregistrements de l'année en cours
SELECT * FROM table1
WHERE STRFTIME('%Y', date_column) = STRFTIME('%Y', 'now')Défi
FacileTables et colonnes disponibles :
events:id,start,end
Écrivez une requête qui affiche :
- L’ID de l’événement
- La date de début au format "DD-MM-YYYY". Appelez cette colonne
formatted_start - La date de fin au format "DD-MM-YYYY". Appelez cette colonne
formatted_end - La durée en jours entre le début et la fin, arrondie à l’entier le plus proche. Appelez cette colonne
duration_days
Filtrez uniquement les lignes pour lesquelles l’année de la colonne start est 2009 (STRFTIME() renvoie une chaîne et non un nombre).
Triez les résultats par durée en jours, par ordre décroissant.
Rappel : pour calculer la différence entre les dates, utilisez : JULIANDAY(end) - JULIANDAY(start) et utilisez ROUND() pour arrondir aux nombres entiers.
Essayez vous-même
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les fondamentaux
1Introduction
IntroductionQu’est-ce qu’une base de donnéesConcepts des bases de donnéesValeurs uniques4D’autres mots-clés
Le mot-clé INLe mot-clé BETWEENLe mot-clé LIKELe mot-clé ASRécapitulatif - Modèles de téléphones portables2Conditions
Bases des conditionsLe mot-clé ANDLe mot-clé ORLe mot-clé NOTCombinaison de plusieurs conditionsParenthèsesBooléens5Opérations arithmétiques
Opérateurs mathématiquesColonnes mathématiquesL’opération moduloLa fonction ROUND()3Format de retour spécifique
Valeurs NULLTrier les résultats, partie 1Trier les résultats, partie 2Récapitulatif - Entreprise de cybersécuritéLimiter le nombre d’enregistrementsRécapitulatif - Usine de véhicules6Défis d’introduction
Récapitulatif - Élection parlementaireRécapitulatif - Arrestation criminelle par la policeRécapitulatif - Récipient de boisson au barRécapitulatif - Ingénieur de nouvelles colonnes9Tables multiples
Jointure de base, partie 1Jointure de base, partie 2Récapitulatif - JointureAuto-jointureRécapitulatif - Auto-jointureUnionSimplifier les requêtes, mot-clé WITHRécapitulatif - Requêtes WITHRécapitulatif - Entrepreneur immobilier12Fonctions de fenêtre – partie 2
Fonctions RANK & DENSE_RANKRécapitulatif – RANK & DENSE_RANKFonction NTILEFonctions d’agrégationCritère ROWS & RANGEEntraînez-vous par vous-même : Playground SQL