87 votes

Renvoi du nom du mois dans la requête SQL Server

À l'aide de SQL Server 2008, j'ai une requête qui est utilisé pour créer une vue et je suis en train d'afficher un mois au lieu d'un entier.

Dans ma base de données datetime est dans une colonne appelée OrderDateTime. Les lignes de la requête qui retourne la date est:

DATENAME(yyyy, S0.OrderDateTime) AS OrderYear,
DATEPART(MONTH, S0.OrderDateTime) AS OrderMonth

Ceci renvoie à une colonne d'années et d'une colonne de mois entiers. Je veux retourner les noms de mois (Jan, Fév, etc). J'ai essayé:

CONVERT(varchar(3), DATEPART(MONTH, S0.OrderDateTime) AS OrderMonth

C'est évidemment est incorrect, alors que je suis "syntaxe Incorrecte près de 'COMME " message". Quelle est la bonne syntaxe de ma requête?

160voto

Mikael Eriksson Points 77190

Cela vous donnera le nom complet du mois.

 select datename(month, S0.OrderDateTime)
 

Si vous voulez seulement les trois premières lettres, vous pouvez utiliser ceci

 select convert(char(3), S0.OrderDateTime, 0)
 

18voto

nithins Points 1983

Avez-vous essayé DATENAME(MONTH, S0.OrderDateTime) ?

12voto

Jim Harris Points 41

Changement:

 CONVERT(varchar(3), DATEPART(MONTH, S0.OrderDateTime) AS OrderMonth
 

À:

 CONVERT(varchar(3), DATENAME(MONTH, S0.OrderDateTime)) AS OrderMonth
 

2voto

Dilip Chauhan Points 29

Sélectionnez SUBSTRING (convert(varchar,S0.OrderDateTime,100),1,3) de votre nom de table

1voto

Bamidelz Points 11

Cela vous donnera ce que vous demandez:

 select convert(varchar(3),datename(month, S0.OrderDateTime)) 
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X