W tym samouczku znajdziesz szybką metodę pobierania bieżącej daty bez czasu za pomocą funkcji Oracle current_date.
Funkcja Oracle CURRENT_DATE
Jak sama nazwa wskazuje, ta funkcja zwraca bieżącą datę przy użyciu strefy czasowej określonej w bieżącej sesji.
Funkcja zwraca wartość daty w kalendarzu gregoriańskim z typem DATA DATA. Składnia jest pokazana poniżej:
BIEŻĄCA DATA;
Chociaż jest to stosunkowo prosta funkcja, może zaoszczędzić mnóstwo obliczeń w bazie danych.
Może szybko wstawiać wartości dat do kolumny, umożliwiając rejestrowanie, kiedy w bazie danych pojawia się polecenie wstawiania, aktualizowania lub usuwania.
Wartość daty zależy od strefy czasowej ustawionej w bieżącej sesji. W Oracle wartość strefy czasowej sesji jest definiowana przez parametr TIME_ZONE. Możesz zmodyfikować tę wartość, aby zmienić strefę czasową sesji.
Ilustracja użycia funkcji
Chociaż funkcja jest prosta i łatwa do zrozumienia, podamy kilka przykładów ilustrujących jej działanie.
WYBIERZ AKTUALNĄ_DATĘ Z podwójny;
Powyższe zapytanie powinno zwrócić bieżącą datę na podstawie wybranej strefy czasowej jako:
CURRENT_DATE|------------+
2023-01-01|
Formatowanie wartości daty
Możesz przekazać wartość funkcji current_date do funkcji char, aby sformatować ją w żądanym formacie.
Przykład jest taki, jak pokazano:
SELECT TO_CHAR(CURRENT_DATE, 'DD-MM-RRRR') AS D FROM dual;W takim przypadku funkcja to_char() przekonwertuje bieżącą datę na format DD-MM-RRRR, jak pokazano:
D |----------+
01-01-2023|
Aby przekonwertować datę na długi format:
D |-------------------------+
niedziela, 01 stycznia 2023|
Inne obsługiwane formaty daty obejmują:
Oracle zmienia strefę czasową sesji
Aby ustawić inną strefę czasową dla bieżącej sesji, użyj polecenia ALTER SESSION SET, jak pokazano poniżej:
ALTER SESSION SET time_zone = '-5:0';ALTER SESSION SET NLS_DATE_FORMAT = 'RRRR-MM-DD HH24:MI:SS';
Następnie możesz wybrać bieżącą datę dla wybranej strefy czasowej jako:
WYBIERZ AKTUALNĄ_DATĘ Z podwójny;Wynik:
CURRENT_DATE|------------+
2022-12-31|
Wniosek
Korzystając z tego przewodnika, nauczyłeś się, jak używać funkcji current_date w Oracle, aby szybko pobrać bieżącą datę ze strefy czasowej bieżącej sesji.