Comment exclure des valeurs d'une colonne DateTime
qui sont des samedis ou des dimanches?
Par exemple, compte tenu des données suivantes:
date_created
'2009-11-26 09:00:00' -- Thursday
'2009-11-27 09:00:00' -- Friday
'2009-11-28 09:00:00' -- Saturday
'2009-11-29 09:00:00' -- Sunday
'2009-11-30 09:00:00' -- Monday
c'est le résultat que je recherche:
date_created
'2009-11-26 09:00:00' -- Thursday
'2009-11-27 09:00:00' -- Friday
'2009-11-30 09:00:00' -- Monday
Merci!
Lors du calcul des jours de la semaine, il est important de prendre en compte les paramètres DATEFIRST
actuels. Cette requête exclura toujours correctement les jours de week-end, en utilisant @@DATEFIRST
pour tenir compte de tout paramètre possible pour le premier jour de la semaine.
SELECT *
FROM your_table
WHERE ((DATEPART(dw, date_created) + @@DATEFIRST) % 7) NOT IN (0, 1)
SELECT date_created
FROM your_table
WHERE DATENAME(dw, date_created) NOT IN ('Saturday', 'Sunday')
En supposant que vous utilisez SQL Server, utilisez DATEPART avec dw:
SELECT date_created
FROM your_table
WHERE DATEPART(dw, date_created) NOT IN (1, 7);
EDIT: Je dois souligner que la valeur numérique réelle retournée par DATEPART (dw) est déterminée par la valeur définie à l'aide de SET DATEFIRST:
http://msdn.Microsoft.com/en-us/library/ms181598.aspx
Essayez la fonction DATENAME()
:
select [date_created]
from table
where DATENAME(WEEKDAY, [date_created]) <> 'Saturday'
and DATENAME(WEEKDAY, [date_created]) <> 'Sunday'
La réponse dépend de la configuration de début de semaine de votre serveur, il est donc soit
SELECT [date_created] FROM table WHERE DATEPART(w,[date_created]) NOT IN (7,1)
si le dimanche est le premier jour de la semaine pour votre serveur
ou
SELECT [date_created] FROM table WHERE DATEPART(w,[date_created]) NOT IN (6,7)
si le lundi est le premier jour de la semaine pour votre serveur
Commentez si vous avez des questions :-)
Calculer les jours ouvrables de congé dans une colonne de tableau comme valeur par défaut - mis à jour
Si vous utilisez SQL, voici la requête qui peut vous aider: http: //gallery.technet.Microsoft.com/Calculate ...