Jeśli znasz PostgreSQL, możesz wiedzieć, że możesz użyć EXTRACT()
i DATE_PART()
funkcje wyodrębniania miesiąca od daty. Ale te funkcje pozwalają tylko wyodrębnić numer miesiąca .
A jeśli potrzebujesz miesiąca nazwa ?
Możesz uzyskać nazwę miesiąca z daty, używając TO_CHAR()
funkcjonować. Ta funkcja zwraca ciąg znaków na podstawie znacznika czasu i wzorca szablonu, który podasz jako argumenty.
Przykład
Oto krótki przykład.
SELECT TO_CHAR(TIMESTAMP '2020-12-16 10:41:35', 'Month') AS "Month";
Wynik:
Month ----------- December
W tym przypadku określiłem wzorzec szablonu 'Month'
, więc spowodowało to zwrócenie miesiąca z wartości sygnatury czasowej.
Małe litery, wielkie litery i wielkie litery
Możesz zwrócić miesiąc małymi, wielkimi lub wielkimi literami. Określasz, którego z nich używasz dla wzorca szablonu (drugi argument).
Oto przykład, aby pokazać, o co mi chodzi.
SELECT TO_CHAR(current_timestamp, 'month') AS "month", TO_CHAR(current_timestamp, 'Month') AS "Month", TO_CHAR(current_timestamp, 'MONTH') AS "MONTH";
Wynik:
month | Month | MONTH -----------+-----------+----------- march | March | MARCH
Wszystkie wyniki są wypełnione do 9 znaków, niezależnie od użytej wielkości liter.
Krótka nazwa miesiąca
Możesz również określić, że wynik jest sformatowany przy użyciu krótkiej nazwy miesiąca.
SELECT TO_CHAR(current_timestamp, 'mon') AS "mon", TO_CHAR(current_timestamp, 'Mon') AS "Mon", TO_CHAR(current_timestamp, 'MON') AS "MON";
Wynik:
mon | Mon | MON -----+-----+----- mar | Mar | MAR