Mam miesiące przechowywane w SQL Server jako 1,2,3,4, ... 12. Chciałbym wyświetlić je jako styczeń, luty itp. Czy w SQL Server jest funkcja taka jak MonthName (1) = styczeń? W miarę możliwości staram się unikać instrukcji CASE.
sql
sql-server
tsql
sql-server-2005
Saif Khan
źródło
źródło
Myślę, że to najlepszy sposób na uzyskanie nazwy miesiąca, gdy masz numer miesiąca
Lub
źródło
źródło
źródło
Użyj najlepszego sposobu
źródło
To bardzo proste.
wyjście: styczeń
źródło
Możesz użyć wbudowanej
CONVERT
funkcjiSpowoduje to wyświetlenie pierwszych 3 znaków miesiąca (JAN, FEB itp.)
źródło
oprócz oryginału
SELECT DATENAME(m, str(2) + '/1/2011')
możesz to zrobić
SELECT DATENAME(m, str([column_name]) + '/1/2011')
w ten sposób otrzymujesz nazwy dla wszystkich wierszy w tabeli. gdzie [nazwa_kolumny] reprezentuje kolumnę całkowitą zawierającą wartości liczbowe od 1 do 12
2 reprezentuje dowolną liczbę całkowitą, poprzez ciąg kontaktowy utworzyłem datę, w której mogę wyodrębnić miesiąc. „/ 1/2011” może być dowolną datą
jeśli chcesz to zrobić ze zmienną
źródło
Poniższe działa dla mnie:
źródło
Użyj tej instrukcji, aby przekonwertować wartość liczbową miesiąca na nazwę miesiąca.
źródło
W niektórych lokalizacjach, takich jak hebrajski, miesiące przestępne zależą od roku, więc aby uniknąć błędów w takich lokalizacjach, możesz rozważyć następujące rozwiązanie:
źródło
Pewnie, że to zadziała
źródło
Począwszy od SQL Server 2012, możesz użyć FORMATU i DATEFROMPARTS, aby rozwiązać ten problem. (Jeśli chcesz nazwy miesięcy z innych kultur, zmień
en-US
:)Jeśli chcesz mieć trzyliterowy miesiąc:
Jeśli naprawdę chcesz, możesz utworzyć funkcję:
źródło
Możesz użyć funkcji konwersji jak poniżej
źródło
Po prostu odejmij bieżący miesiąc od dzisiejszej daty, a następnie dodaj swój numer miesiąca. Następnie użyj funkcji nazwy pliku, aby podać pełną nazwę w jednym wierszu.
źródło
myślę, że to wystarczy, aby uzyskać nazwę miesiąca, kiedy masz datę.
źródło
źródło
Aby przekonwertować numer miesiąca na nazwę miesiąca, spróbuj wykonać poniższe czynności
źródło
źródło
Ten działał dla mnie:
Z powyższego postu z @leoinfo i @Valentino Vranken. Właśnie zrobiłem szybki wybór i działa.
źródło
Wyjaśnienie:
MonthNumber
DatePart
którego zwróć numer miesiącaźródło
LUB
źródło
Pracuje dla mnie
źródło
możesz dostać taką datę. np .: - Tabela użytkowników
możesz uzyskać nazwę miesiąca w ten sposób
wynik
źródło
Użyj tego oświadczenia, aby uzyskać nazwę miesiąca:
To da ci nazwę krótkiego miesiąca. W ten sposób: styczeń, luty, marzec itp.
źródło
Oto moje rozwiązanie wykorzystujące niektóre informacje od innych do rozwiązania problemu.
źródło
Na serwerze SQL nie ma funkcji zdefiniowanej przez system. Ale możesz stworzyć własną funkcję zdefiniowaną przez użytkownika - funkcję skalarną. Funkcje eksploratora obiektów można znaleźć w Eksploratorze obiektów dla bazy danych: Programowalność-> Funkcje-> Funkcje o wartości skalarnej. Poniżej używam zmiennej tabeli, aby połączyć to wszystko.
źródło
Możesz utworzyć taką funkcję, aby wygenerować miesiąc i wybrać WYBIERZ dbo.fn_GetMonthFromDate (kolumna_daty) jako miesiąc FROM nazwa_tabeli
źródło
Najłatwiej jest wywołać funkcję
MONTHNAME(your_date)
. twoja_data może być wartością statyczną lub wartością z jednego z pól tabeli.źródło
SELECT MONTHNAME (concat ('1970 -', [Month int val], '- 01'))
przykład - WYBIERZ NAZWĘ MIESIĄCA (concat ('1970 -', 4, '- 01'))
odpowiedź - kwiecień
źródło