Ma question est similaire à este Question sur MySQL, mais destinée à SQL Server :
Existe-t-il une fonction ou une requête qui renvoie une liste de jours entre deux dates ? Par exemple, disons qu'il existe une fonction appelée ExplodeDates :
SELECT ExplodeDates('2010-01-01', '2010-01-13');
Cela renvoie un tableau à une seule colonne contenant les valeurs :
2010-01-01
2010-01-02
2010-01-03
2010-01-04
2010-01-05
2010-01-06
2010-01-07
2010-01-08
2010-01-09
2010-01-10
2010-01-11
2010-01-12
2010-01-13
Je pense qu'un calendrier ou un tableau de chiffres pourrait m'aider.
Mise à jour
J'ai décidé de jeter un coup d'œil sur les trois réponses de code fournies, et les résultats de l'exécution - en % du lot total - sont les suivants :
- Réponse de Rob Farley : 18%
- Réponse de StingyJack : 41%
- La réponse de KM : 41%
Plus bas, c'est mieux
J'ai accepté la réponse de Rob Farley, car elle était la plus rapide, même si les solutions de tables de chiffres (utilisées par KM et StingyJack dans leurs réponses) sont un peu mes préférées. La réponse de Rob Farley était deux tiers plus rapide.
Mise à jour 2
Alivia's réponse est beaucoup plus succinct. J'ai modifié la réponse acceptée.