Comment obtenir le samedi de la Date du jour (Ou tout autre jour de la semaine de la Date du jour)- SQL Server
Comment obtenir le samedi de la Date du jour. J'ai la date d'aujourd'hui avec moi.
GETDATE()
Comment faire cela.
Pour eg. Aujourd'HUI est 08-08-2011
Je veux en sortie 08-13-2011
OriginalL'auteur Sreekumar P | 2011-08-08
Vous devez vous connecter pour publier un commentaire.
C'est une fonction qui sera de retour le samedi suivant si vous l'appelez comme ceci:
Le "6" vient de la liste des valeurs possibles vous pouvez définir pour
DATEFIRST
.Vous pouvez obtenir n'importe quel autre jour de la semaine en changeant le deuxième paramètre en conséquence.
C'est la fonction:
[MODIFIER]
Ce pourrait être une autre solution. Cela devrait fonctionner dans n'importe quelle langue:
Pour la valeur de la dbo.fn_Get_NextWeekDay('2016-12-14', 2) la fonction renvoie 2016-12-13 00:00:00.000 dans certaines configurations
OriginalL'auteur leoinfo
Espère que ça aide!
OriginalL'auteur Andy Hunt
Utiliser un Calendrier de table (tableau avec une ligne par jour):
OriginalL'auteur nvogel
Utilisation DATEPART pour obtenir la journée de la semaine aujourd'hui et ajouter la différence pour le jour de la semaine à la date d'aujourd'hui.
OriginalL'auteur Daniel Hilgarth
Caisse SQL fonction DATEADD.
DATEADD (Transact-SQL)
Que vous pouvez utiliser avec cette fonction DATEPART pour renvoyer la bonne date.
DATEPART (Transact-SQL)
OriginalL'auteur jdavies
Essayez ceci :
SET DATEFIRST 7
cela ne peut pas être utilisé à l'intérieur d'une Fonction SQL.. wht faire ?quelle est votre valeur actuelle de l'ENSEMBLE DATEFIRST ? ( select @@DATEFIRST )
valeur actuelle est de 7 . mais il peut changer d'un SYSTÈME à l'autre ..??
c'est vrai, mais vous ne plaisante pas avec cette valeur à l'échelle du serveur
oui... j'ai eu de la solution de donner à ce "JEU de DATEFIRST 7' ligne avant que la fonction est appelée...la plupart du temps à partir de la SP. 🙂
OriginalL'auteur leoinfo
Une autre approche s'effectue en deux étapes, mais peut être plus lisible (regardez ma, pas de module):
DATEADD(DAY, -1 * datepart(weekday, GETDATE()), getdate())
DATEADD(WEEK, 1, @lastSaturday, getdate()))
L'ensemble de la chose:
Ou, si vous êtes ok avec
@today
êtreGETDATE()
, vous pouvez faire le calcul tout à la fois:OriginalL'auteur mrtig