Handling Dates Part 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 de date courantes :
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 une 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 est 0)
- %H : Heure (00-23)
- %M : Minute (00-59)
- %S : Seconde (00-59)
Vous pouvez utiliser n'importe quel caractère de séparation entre les spécificateurs (par ex. -, :, /). Par exemple, STRFTIME('%d-%m-%Y', date) et STRFTIME('%d:%m:%Y', date) combinent tous deux le jour, le mois et l'année — simplement avec des séparateurs différents.
Vous pouvez combiner ces fonctions dans des 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 :
<strong>events</strong>:<strong>id</strong>,<strong>start</strong>,<strong>end</strong>
Écrivez une requête qui affiche :
- L'ID de l'événement
- La date de début formatée comme "DD-MM-YYYY". Nommez cette colonne
formatted_start - La date de fin formatée comme "DD-MM-YYYY". Nommez cette colonne
formatted_end - La durée en jours entre le début et la fin, arrondie au nombre entier le plus proche. Nommez cette colonne
duration_days
Filtrez uniquement les lignes dont l'année de la colonne start est 2009 (STRFTIME() retourne une chaîne de caractères et non un nombre).
Triez les résultats par jours de durée 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
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns