Calcul du jour de début de mois

Quelle écriture préférez vous pour calculer une date de début de mois ?

print datefromparts(year(current_timestamp),month(current_timestamp),1)
print dateadd(day,-datepart(day,current_timestamp) + 1,current_timestamp)
print dateadd(day,-day(current_timestamp) +1,current_timestamp)
print dateadd(day,1,EOMONTH(current_timestamp,-1))
print dateadd(MONTH,DATEDIFF(MONTH,0,current_timestamp),0)

D’un point de vue temps d’exécution est on a peu près équivalent (affiché en micro secondes) entre les différentes options, pour les 3 tentatives …

image

 

Le datefromparts et EOMONTH ne sont compatibles qu’avec SQL2012+, les autres version sont accessibles aux anciennes versions de SQL Server.

Quel est votre version préférée ? Des solutions alternatives ?

A propos Christophe

Consultant SQL Server Formateur certifié Microsoft MVP SQL Server MCM SQL Server 2008
Cet article, publié dans SQL Server, est tagué . Ajoutez ce permalien à vos favoris.

2 commentaires pour Calcul du jour de début de mois

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s