PostgreSQL Konwertuj znacznik czasu na datę

PostgreSQL Konwertuj znacznik czasu na datę
PostgreSQL to relacyjna baza danych, która ma różne funkcje do obsługi dat. Możesz pracować z znacznikami czasu lub przekonwertować znaczniki czasu na daty przy użyciu różnych sposobów. Wiele funkcji daty jest wyposażonych w PostgreSQL, w tym konwersja ciągu do tej pory, znacznik czasu do tej pory, uzyskanie bieżącej daty itp.

Niniejszy przewodnik koncentruje się na pięciu sposobach konwersji czasu do tej pory w PostgreSQL.

Do tej pory konwersja znacznika czasu

Znacznik czasu odnosi się do daty i godziny danego wydarzenia. Może to być bieżąca data i godzina lub inna losowa data i godzina określona w bazie danych lub jako dane wejściowe. Kiedy masz znacznik czasu, konwersja go do tej pory pozwala dokładniej pracować z datami, szczególnie do analizy danych. Na przykład możesz wyodrębnić dzień lub rok ze znacznika czasu. Zobaczmy, jak to osiągnąć.

Korzystanie z funkcji daty

Załóżmy, że masz związek w PostgreSQL, który zawiera znacznik czasu, taki jak dana transakcja. Możesz użyć dat (), aby przekonwertować znacznik czasu na datę i wyodrębnić wartość za pomocą następującej składni:

# Wybierz datę (timestamp_column) z nazwy relacji;

Oto przykład, aby uzyskać datę z kolumny znacznika czasu w danej tabeli:

Korzystanie z funkcji teraz

Teraz() W Postgresql pobiera bieżącą datę i godzinę. PostgreSQL ma trzy typy danych: data, czas, I znak czasu. Możesz wyodrębnić dowolny typ danych za pomocą teraz ().

Aby wyodrębnić datę znacznika czasu w PostgreSQL, możesz użyć funkcji Now () i określić typ danych daty za pomocą słowa kluczowego Wybierz.

# Wybierz teraz () :: Data;

Uruchomienie polecenia podaje bieżącą datę systemu.

Korzystanie z funkcji to_char

To_char () Funkcja konwertuje różne typy danych. Możemy go użyć do konwersji czasu na datę. Wykorzystuje następującą składnię:

# To_char (wyrażenie, format);

wyrażenie reprezentuje typy danych, takie jak znacznik czasu, które należy przekonwertować na wymagane struny. Istnieją różne sposoby korzystania z funkcji to_char () do wyodrębnienia daty.
Najpierw połączmy funkcję z teraz (), aby uzyskać znacznik czasu i przekonwertować ją na datę za pomocą określonego formatu. Połącz funkcję teraz () z data Słowo kluczowe.

# Wybierz to_char (teraz () :: DATE, „dd-mm-yyyy”);

„„Dd / mm / rrrr”Reprezentuje format daty, który chcemy uzyskać jako wyjście.

Możesz także wydobyć jeden szczegół, taki jak rok. Oto przykład:

Innym sposobem konwersji czasu do tej pory za pomocą funkcji to_char () jest użycie Current_timestamp słowo kluczowe, aby uzyskać bieżący znacznik czasu, a następnie określ, które informacje wyodrębniają się.

Wyodrębnijmy dzień tygodnia, dzień miesiąca (Dd) i godzina dnia przy użyciu 12-godzinnego formatu (HH12), minuty (MI) i sekundy (SS) Z następującym poleceniem:

# Wybierz to_char (current_timestamp, „dzień, dd hh12: mi: ss ');

Funkcja to_char () ma różne formaty, których można użyć. Podobnym przykładem jest to, jak go używać do konwersji znacznika czasu na datę.

Za pomocą funkcji ekstraktu

Funkcja ekstraktu () wyodrębnia podfole, takie jak rok, ze znacznika czasu. Funkcja jest przydatna, gdy wymagana jest tylko dana data. Wykorzystuje następującą składnię:

# Wyciąg (subfield ze źródła);

W tym przykładzie wyodrębniamy miesiąc z określonego znacznika czasu za pomocą słowa kluczowego Wybierz i zapisuje go jako „miesiąc.„Możesz użyć dowolnej nazwy, aby ją zapisać.

# Wybierz ekstrakt (miesiąc od znacznika czasu 2022-11-28 21:34:45 ') jako miesiąc;

Możesz także wydobyć dzień miesiąca.

Funkcja Extract () może również działać z funkcją now (), aby używać bieżącego datetime jako znacznik czasu zamiast jej określić. Tutaj wymień znacznik czasu teraz () w następujący sposób:

# Wybierz wyciąg (dzień od teraz ()) jako dzień;

Nadal otrzymujemy to samo wyjście.

Możesz wymienić podffield, aby wyodrębnić wszelkie informacje ze znacznika czasu.

Korzystanie z funkcji DATE_PART

Funkcja DATE_PART () działa podobnie do funkcji Extract (), że wyodrębnia podffolę ze znacznika czasu.

Użyj następującej składni:

# Date_part (subfield, źródło);

Subfield jest rok, miesiąc, Lub dzień że chcesz wyodrębnić. Podczas gdy źródłem jest określony lub aktualny znacznik czasu.

Wyodrębnijmy rok z określonego znacznika czasu:

# Wybierz date_part („rok”, znacznik czasu ”2012-02-11 12:23:21 ') the_year;

Aby wyodrębnić rok ze znacznika czasu obecnego systemu, użyj teraz ().

# Wybierz date_part („rok”, teraz ()) the_year;

Aby wyodrębnić więcej niż jedno podffield, możesz wykonać to polecenie:

# Wybierz date_part („rok”, znacznik czasu ”2022-10-28 10:20:34 ') t_year, date_part („ miesiąc ”, znacznik czasu” 2022-10-28 10:20:34') t_month, date_part („dzień” ', Znacznik czasu „2022-10-28 10:20:34') t_day;

Alternatywnie możesz uruchomić to samo polecenie za pomocą funkcji now () dla bieżącego datetime:

# Wybierz date_part („rok”, teraz ()) t_year, date_part ('miesiąc', now ()) t_month, date_part ('day', now ()) t_day;

Wniosek

PostgreSQL oferuje różne funkcje do pracy z datami. W tym przewodniku przedstawiono pięć funkcji, których można użyć do konwersji znaczników czasu do daty, w tym data (), to_char (), now (), sformułowanie () i date_part (). W zależności od celu, możesz użyć dowolnego z nich, aby uzyskać datę.