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.
DATAData 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);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;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;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ń;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”);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.