W bazie danych Oracle SYSDATE funkcja zwraca bieżącą datę i godzinę ustawioną dla systemu operacyjnego, na którym znajduje się serwer bazy danych.
Zwrócona wartość jest typu DATE .
Składnia
Składnia wygląda tak:
SYSDATE Tak więc żadne argumenty nie są wymagane (ani akceptowane) i nie ma nawiasów.
Przykład
Oto przykład:
SELECT SYSDATE
FROM DUAL; Wynik:
06/AUG/21
Ten przykład wyświetla datę na podstawie wartości NLS_DATE_FORMAT mojego systemu parametr (którym obecnie jest DD/MON/RR ). Możemy zmienić ten parametr lub użyć funkcji takiej jak TO_CHAR() aby zwrócić wynik w innym formacie.
Przykład:
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD')
FROM DUAL; Wynik:
2021-08-06
Dzwonię na SYSDATE z nawiasami
Jak wspomniano, SYSDATE funkcja jest wywoływana bez nawiasów.
Oto, co się dzieje, gdy nazywamy to w nawiasach:
SELECT SYSDATE()
FROM DUAL; Wynik:
Error starting at line : 1 in command - SELECT SYSDATE() FROM DUAL Error at Command Line : 1 Column : 15 Error report - SQL Error: ORA-00923: FROM keyword not found where expected 00923. 00000 - "FROM keyword not found where expected" *Cause: *Action:
Naprawianie SYSDATE Wartość zwrotu
FIXED_DATE parametr inicjalizacji umożliwia ustawienie stałej daty i godziny, w której SYSDATE zawsze zwróci zamiast bieżącej daty i godziny.
Może to pomóc w testowaniu sytuacji, gdy potrzebujesz tych samych danych wejściowych, aby spójnie uzyskać ten sam wynik.
Zobacz dokumentację Oracle dla FIXED_DATE a także ogólnie parametry inicjalizacji, aby uzyskać więcej informacji.