J'ai des mois stockés dans SQL Server comme 1,2,3,4, ... 12. Je voudrais les afficher comme janvier, février, etc. Y a-t-il une fonction dans SQL Server comme MonthName (1) = janvier? J'essaie d'éviter une déclaration CASE, si possible.
sql
sql-server
tsql
sql-server-2005
Saif Khan
la source
la source
Je pense que c'est la meilleure façon d'obtenir le nom du mois lorsque vous avez le numéro du mois
Ou
la source
la source
la source
Utilisez la meilleure façon
la source
C'est très simple.
sortie: janvier
la source
Vous pouvez utiliser la
CONVERT
fonction intégréeCela affichera les 3 premiers caractères du mois (JAN, FEB etc.)
la source
en plus de l'original
SELECT DATENAME(m, str(2) + '/1/2011')
tu peux le faire
SELECT DATENAME(m, str([column_name]) + '/1/2011')
de cette façon, vous obtenez des noms pour toutes les lignes d'une table. où [nom_colonne] représente une colonne entière contenant la valeur numérique 1 à 12
2 représente n'importe quel entier, par la chaîne de contact j'ai créé une date où je peux extraire le mois. '/ 1/2011' peut être n'importe quelle date
si vous voulez le faire avec une variable
la source
Ce qui suit fonctionne pour moi:
la source
Utilisez cette instruction pour convertir la valeur numérique du mois en nom du mois.
la source
Dans certains pays comme l'hébreu, certains mois bissextiles dépendent de l'année. Pour éviter les erreurs dans ces pays, vous pouvez envisager la solution suivante:
la source
Bien sûr, cela fonctionnera
la source
À partir de SQL Server 2012, vous pouvez utiliser FORMAT et DATEFROMPARTS pour résoudre ce problème. (Si vous voulez que les noms de mois d'autres cultures, changement:
en-US
)Si vous voulez un mois de trois lettres:
Si vous le voulez vraiment, vous pouvez créer une fonction pour cela:
la source
Vous pouvez utiliser la fonction de conversion comme ci-dessous
la source
Il suffit de soustraire le mois en cours de la date du jour, puis de rajouter votre numéro de mois. Utilisez ensuite la fonction datename pour donner le nom complet en une seule ligne.
la source
Je pense que cela suffit pour obtenir le nom du mois lorsque vous avez une date.
la source
la source
Pour convertir le numéro du mois en nom du mois, essayez ce qui suit
la source
la source
Celui-ci a fonctionné pour moi:
Extrait d'un post ci-dessus de @leoinfo et @Valentino Vranken. Je viens de faire une sélection rapide et cela fonctionne.
la source
Explication:
MonthNumber
DatePart
quel numéro de mois de retourla source
OU
la source
Travailler pour moi
la source
vous pouvez obtenir la date comme ça. par exemple: - Tableau des utilisateurs
vous pouvez obtenir le nom de montagne comme celui-ci
production
la source
Utilisez cette déclaration pour obtenir le nom du mois:
Cela vous donnera un nom de mois court. Comme ceci: Jan, Feb, Mar, etc.
la source
Voici ma solution en utilisant des informations provenant d'autres personnes pour résoudre un problème.
la source
Il n'y a pas de fonction définie par le système dans SQL Server. Mais vous pouvez créer votre propre fonction définie par l'utilisateur - une fonction scalaire. Vous trouverez des fonctions scalaires dans l'Explorateur d'objets pour votre base de données: Programmabilité-> Fonctions-> Fonctions à valeur scalaire. Ci-dessous, j'utilise une variable de table pour rassembler le tout.
la source
Vous pouvez créer une fonction comme celle-ci pour générer le mois et faire SELECT dbo.fn_GetMonthFromDate (date_column) en tant que Month FROM nom_table
la source
La façon la plus simple consiste à appeler la fonction
MONTHNAME(your_date)
. votre_date peut être une valeur statique ou la valeur d'un de vos champs de table.la source
SELECT MONTHNAME (concat ('1970 -', [Month int val], '- 01'))
exemple - SELECT MONTHNAME (concat ('1970 -', 4, '- 01'))
réponse - avril
la source