est-il possible de sauvegarder le mois / année dans SQL Server 2008 avec une date de date régulière? Je n'ai pas besoin d'un horodatage et la colonne va stocker des combinaisons MO / YR uniques (I.E. 10-11, 11-11, 12-11, etc.). p>
Toute recommandation? p>
5 Réponses :
SQL Server stockera les données DateTime dans son intégralité (heure du mois d'année: Min: Sec.Millisec) Peu importe quoi. p>
Lorsque vous stockez vos dates, vous pouvez faire la journée le 1er du mois. Il suffit de formater les dates comment vous voulez quand vous faites vos questions. P>
http://www.sql-server-helper.com/ TIPS / DATE-FORMATS.ASPX P>
Sans connaître l'utilisation prévue, il n'est pas possible de conseiller correctement. Cependant, la conservation du mois et de l'année est facilement faite sur au moins trois manières: p>
Notez que Wallyk mentionne le Type de données de date a> dans sa première option. Ceci est différent d'un champ DateTime. Toutes les trois options ont beaucoup de sens.
Au cas où vous vous demandez comment décomposer l'entier de retour à l'année / mois, c'est comme ça que j'ai utilisé Csharp: Année = Anniversaire / 100; jour = anniversaire% 100;
Vous ne pouvez pas stocker que l'année et le mois dans une colonne DateTime. Eh bien, ce que vous pouvez faire est de défaut le reste des valeurs. IE: 2011.10.1.1, 2011.11.1.1.1 Comme ça. P>
ou vous pouvez le stocker comme chaîne. P>
à partir de SQLServer 2008 et à partir de:
Enregistrer en tant que colonne CODE> Colonne et ajoutez la contrainte de vérification suivante pour vous assurer que la valeur est toujours la première du mois: p>
datepart(month, MyDate)<>datepart(month,dateadd(day, -1, MyDate))
J'aime cette approche, mais je pense qu'une contrainte de contrôle plus simple est jour (mydate) = 1 code>.
SELECT RIGHT(CONVERT(VARCHAR(10), GETDATE(), 105), 7) AS [MM-YYYY] You should try this