sql date de paramètre dans la requête
J'ai une requête et je veux ajouter des paramètres pour calculer le déplacement annuel (les chiffres pour les 12 derniers mois). Je suis en train de soustraire 12 mois à partir d'aujourd'hui, donc, si par exemple aujourd'hui est le 1er août 2012, puis mon @date de début doit être '2011-09-01" et mon @date de fin doit être "2012-08-31'. Alors, comment puis-je changer régler mes paramètres à tenir compte de cette?
declare @StartDate DATE
declare @EndDate DATE
SET @StartDate = DATEADD(MONTH, -12, '2012-08-01')
SET @EndDate = DATEADD(MONTH, +1, '2012-08-01')
- Ce système de base de données, et quelle version?? SQL est juste le Langage d'interrogation Structuré - une langue utilisée par de nombreux systèmes de base de données, mais pas un produit de base de données... fonctionnalités comme c'est souvent spécifiques au fournisseur - nous vraiment besoin de savoir ce système de base de données vous êtes en utilisant....
Vous devez vous connecter pour publier un commentaire.
EDIT:
Cependant, je ne pas recommandons d'utiliser
'2011-09-01'
à'2012-08-31'
comme représentation d'un an. Au lieu de cela, utiliser'2011-09-01'
à'2012-09-01'
de la manière suivante...Cela fonctionne pour tous les Date et DateTime types de données. Même si la valeur en
dateField
est de 2 h 30 sur 31 août, ce sera encore du travail. C'est un one size fits all approche et rend beaucoup plus difficile de faire des erreurs sur la date et l'heure limites.Add to date X the number of whole months that are from date X to date Y
. À condition queX
est le début d'un mois, effectivement les tours deY
vers le bas au début du mois. Et0
arrive juste à être une date qui convient c'est le début d'un mois. (1er janvier 1900.)Ajouter cet après votre dernière commande:
Ou remplacer le 2ème SET par:
essayer tiis:
résultat: