Problème :
Vous souhaitez obtenir le mois à partir d'un champ de date dans une base de données SQL Server.
Exemple :
Notre base de données contient une table nommée Furniture avec des données dans les colonnes Id , Name , et ProducedDate .
| Identifiant | Nom | Date de production |
|---|---|---|
| 1 | canapé | 2018-01-10 |
| 2 | chaise | 2018-01-05 |
| 3 | bureau | 2018-06-20 |
| 4 | bibliothèque | 2018-11-15 |
Obtenons le mois à partir de la ProducedDate de chaque produit et découvrez quels meubles ont été produits au cours d'un mois donné.
Solution :
Nous utiliserons le MONTH() une fonction. Voici la requête que vous écririez :
SELECT Name, MONTH(ProducedDate) AS ProducedMonth FROM Furniture;
Voici le résultat de la requête :
| Nom | MoisProduit |
|---|---|
| canapé | 1 |
| chaise | 1 |
| bureau | 6 |
| bibliothèque | 11 |
Discussion :
Pour obtenir un mois à partir d'un champ de date dans SQL Server, utilisez le MONTH() une fonction. Cette fonction ne prend qu'un seul argument :la date. Il peut s'agir d'un type de données date ou date et heure. (Dans notre exemple, la colonne ProducedDate est du date type de données.) L'argument peut être un nom de colonne ou une expression. (Dans notre exemple, il s'agit de la ProducedDate colonne).
MONTH() renvoie le numéro du mois sous la forme d'un entier de 1 à 12. Pour le bureau article, le ProducedMonth la valeur est 6 (renvoyé du 'YYYY-MM-DD' date '2018-06-20' ).