Comment cette requête œuvres d'arriver le premier jour du mois en cours?
SELECT Dateadd(month, Datediff(month, 0, Getdate()), 0),
'First Day of Current Month'
Quelqu'un peut me dire comment cette requête fonctionne pour obtenir le premier jour du mois en cours?
vous voulez jour pour être affiché dans le nombre ou alphebets comme dimanche, lundi
Je ne l'obtenez pas, vous voulez savoir le jour de la semaine de la première journée dans le mois?
Je ne l'obtenez pas, vous voulez savoir le jour de la semaine de la première journée dans le mois?
OriginalL'auteur user614978 | 2012-06-15
Vous devez vous connecter pour publier un commentaire.
Tout d'abord
Datediff(mois, 0, Getdate()) donnera donnera total mois à partir de 1900
et à partir de 1900, vous ajoutez le mois retournés par mois, de sorte que vous obtiendrez le mois de la date de la première
Par exemple : si l'on prend présent mois, puis
Datediff(mois, 0, Getdate()) = 1349 mois
et si vous ajoutez 1349 mois à l' '1900/01/01', vous obtiendrez ce mois première date '2012/06/01'
OriginalL'auteur Sudhakar B
DATEADD
/DATEDIFF
Ce modèle peut être utilisé pour réaliser un certain nombre d'effets différents. Le modèle général est:
Où
part
est le même composant de la date,x
ety
sont généralement constantes, etz
est la date à régler.Quand
x
ety
sont mis à la même constante, puis elle a pour effet d'éliminer tous les composants dez
au-delà de lapart
élément, et le remplacement de ces composants correspondant à ceux dey
. (0
est traité de la même façon que1900-01-01T00:00:00
)Donc,
SELECT Dateadd(month, Datediff(month, 0, Getdate()), 0)
prend la date du jour (z
=GetDate()
), et remplace les parties au-delà de lamonth
(day
et tous les composants heure) avec les parties correspondantes du1900-01-01T00:00:00
.Pour obtenir le départ d'aujourd'hui, vous pouvez utiliser:
Où ce modèle devient plus amusant, c'est qu'il peut être utilisé pour "compenser" les effets quand
x
ety
ne sont pas égaux. Par exemple, pour obtenir le dernier jour du mois dernier, vous pouvez le faire:Ici, les valeurs réelles de
x
ety
n'a pas tellement d'importance. Ce qui importe, c'est la relation entre eux.OriginalL'auteur Damien_The_Unbeliever
je chose que vous avez besoin de cela. Il vous donnera le nom et le numéro de la première journée du mois en cours.
OriginalL'auteur Adeel Ahmed
sélectionnez DATEADD(MM,datediff(mois,0,getdate()),0) first_day_of_month
aller
sélectionnez DATEADD(mm,datediff(mois,0,getdate())+1,0)-1 last_day_of_currentmonth
OriginalL'auteur Rakesh Fhaujdar
J'ai utilisé les éléments suivants:
Fondamentalement, nous avons ajouté la négative jours + 1 à la date actuelle.
OriginalL'auteur KevinSwiecicki