MySQL: Comment calculer les semaines à partir d'une date précise?
J'ai besoin de calculer les semaines à partir de la date dans mon MySQL instruction select. Il y a une colonne de date dans l'une des tables, et j'ai besoin de calculer le nombre de semaines de la date.
SELECT EventDate, (calculation) AS WeeksOut FROM Events;
Exemple:
- 6 jours, semaines = 0
- 7 jours, semaines = 1
- 13 jours, semaines = 1
- 14 jours, semaines = 2
Que voulez-vous faire pendant des semaines partielles? Par exemple: si 3.2857 semaines 3 semaines, 4 semaines ou quelque chose entre les deux?
Oui, il doit être arrondi à l'entier le plus proche de la semaine
Oui, il doit être arrondi à l'entier le plus proche de la semaine
OriginalL'auteur Andrew | 2010-10-18
Vous devez vous connecter pour publier un commentaire.
Utiliser le Fonction DATEDIFF:
Le problème avec les SEMAINES, c'est qu'il ne retournera pas les résultats corrects pour les dates qui traversez le 1er janvier.
La
0
est le nombre de décimales à utiliser dans laTOUR
fonction.Plus un Mais pouvez-vous ajouter le lien vers la documentation pour de meilleures explications . Pourquoi le 0 après le 7 ?
Ajout d'infos sur le 0.
OriginalL'auteur OMG Ponies
Voici une façon simple de le faire:
Exemple:
Une autre option est de calculer l'intervalle en jours et le diviser par 7:
Exemple:
OriginalL'auteur Ike Walker
Afin d'obtenir au-delà de l'ensemble de la "Nouvelle Année" et que vous souhaitez toujours utiliser
SEMAINE()
, j'ai trouvé la méthode suivante tout à fait efficace.La différence avec cette méthode (par opposition à la
DATEDIFF
méthode), c'est qu'il est aligné avec la semaine. Donc, aujourd'hui, (qui est) lundi et vendredi dernier serait de retour1
à l'aide de cette méthode, mais serait de retour0
avec leDATEDIFF
méthodeOriginalL'auteur Kirk Backus