Funkcja Redshift Current_Date

Funkcja Redshift Current_Date
Funkcja Current_Date w przesunięciu ku czerwieni służy domyślnie datę w strefie czasowej UTC. Rodzaj danych funkcji Current_Date to data, a domyślnym formatem zapisanej daty jest Yyyy-MM-DD. Tę funkcję można użyć do śledzenia zmian wprowadzonych w tabelach klastra.

Chociaż domyślną strefą czasową dla zwróconej wartości z funkcji Current_Date jest UTC, można ją zmienić za pomocą innych wbudowanych funkcji Redshift. Podobnie, niektóre wbudowane funkcje Redshift można wykorzystać do wyodrębnienia dnia, miesiąca i roku z wartości zwróconej z funkcji Current_Date.

Na tym blogu zobaczymy, w jaki sposób funkcja Redshift Current_Date może być używana do różnych przypadków użycia.

Składnia Current_Date

Składnia funkcji Current_Date jest znacznie prostsza niż inne wbudowane funkcje dostępne do Sucher. Funkcja Current_Date nie bierze żadnych argumentów i może być używana wraz z instrukcją Select. Poniżej znajduje się składnia, aby uzyskać datę rozpoczęcia bieżącej transakcji działającej po Amazon Redshift.

Wybierz current_date;

Uzyskaj bieżącą datę za pomocą funkcji Current_Date

Aby uzyskać bieżącą datę w Amazon Redshift, możesz użyć funkcji Current_Date. Funkcja Current_Date zwraca datę rozpoczęcia transakcji zamiast daty rozpoczęcia bieżącej instrukcji.

Poniższe zapytanie zwróci datę rozpoczęcia bieżącej transakcji w przesunięciu ku czerwieni Amazon.

Wybierz current_date;

Poniżej pojawi się wyjście funkcji Current_Date w klastrze Amazon Redshift.

DATA
2022-06-15

Data zwrócona z funkcji Current_Date będzie w strefie czasowej UTC. Musisz go dostroić zgodnie ze swoją strefą czasową przed zakończeniem wyników.

Zmień strefę czasową Current_Date

Jak opisano wcześniej, data zwrócona przez funkcję Current_Date będzie domyślnie w strefie czasowej UTC. Aby uzyskać datę w żądanej strefie czasowej, musisz zmienić strefę czasową daty z UTC na preferowaną strefę czasową.

Aby przekonwertować strefę czasową funkcji Current_Date, użyjemy innej wbudowanej funkcji Convert_TimeZone. Ta funkcja przyjmie strefę czasową źródłową, docelową strefę czasową i czas źródła, i przekształci czas na docelową strefę czasową.

Poniższe zapytanie wygeneruje datę rozpoczęcia bieżącej transakcji w pożądanej strefie czasowej.

Wybierz Convert_TimeZone („UTC”, „GMT+5”, Current_Date);
Convert_TimeZone
2022-06-15 19:00:00

Po przeprowadzeniu w Shift Redshift poprzednie zapytanie najpierw otrzyma bieżącą datę za pomocą funkcji Current_Date w strefie czasowej UTC, a następnie przekonwertuje strefę czasową daty z UTC na GMT+5.

Dostawanie dnia, miesiąca i roku z Current_Date

Funkcja Current_Date zwraca datę w formacie Yyyy-MM-DD w strefie czasowej UTC. Możesz wyodrębnić rok, miesiąc i dzień od daty za pomocą funkcji wyciągu w amazon.

Aby wyodrębnić rok od daty za pomocą funkcji Current_Date i wyodrębnij funkcję, wykonaj następujące zapytanie w klastrze Redshift:

Wybierz wyciąg (rok z Current_Date) jako rok;
ROK
2022

Poprzednie zapytanie najpierw otrzyma datę rozpoczęcia bieżącej transakcji w strefie czasowej UTC, a następnie funkcja wyciągu wyodrębni rok od tego dnia.

Podobnie możesz uzyskać miesiąc z bieżącej daty za pomocą metody wyciągu. Wykonanie następującego zapytania wyodrębnie miesiąc od daty w klastrze Redshift:

Wybierz wyciąg (miesiąc z current_date) jako miesiąc;
MIESIĄC
6

Aby wyodrębnić datę z funkcji Current_Date za pomocą funkcji wyciągu, wykonaj następujące zapytanie wewnątrz klastra Redshift:

Wybierz wyciąg (dzień z current_date) jako dzień;
DZIEŃ
16

Poprzednie zapytanie Redshift zwróci dziś datę, wyodrębniając ją z funkcji Current_Date.

Możesz także użyć funkcji Current_Date z Convert_TimeZone i wyodrębnia funkcje, aby wyodrębnić datę z bieżącej daty w wymaganej strefie czasowej. Wykonaj następujące zapytanie w klastrze Redshift, aby wyodrębnić datę z bieżącej daty w strefie czasowej GMT+5.

Wybierz Convert_TimeZone („UTC”, „GMT+5”, Extract (Day From Current_Date));

Poprzednie zapytanie najpierw otrzyma bieżącą datę, a następnie funkcja wyciągu wyodrębnie datę z funkcji Current_Date. Następnie funkcja Convert_TimeZone zmieni strefę czasową daty z UTC na GMT+5.

Zmiana formatu daty

Domyślnym formatem funkcji Current_Date to JYYY-MM-DD, ale zawsze możesz zmienić format daty. Do zmiany domyślnego formatu funkcji Current_Date można użyć funkcji to_char.

Poniższe zapytanie otrzyma datę rozpoczęcia bieżącej transakcji w żądanym formacie.

Wybierz to_char (current_date, „mm-dd-yyyy”);
to_char
06-16-2022

Wniosek

Do uzyskania daty rozpoczęcia bieżącej transakcji działającej w klastrze może użyć funkcji Current_Date Funkcja Redshift. Domyślnie ta funkcja zwraca bieżącą datę w strefie czasowej UTC w formacie Yyyy-MM-DD. Ta funkcja może być używana z innymi funkcjami, aby wprowadzić bieżącą datę do żądanego formatu i strefy czasowej. W tym artykule opisano różne przypadki korzystania z funkcji Current_Date w połączeniu z innymi funkcjami związanymi z czasem i datą, takimi jak Convert_TimeZone i Extract.