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.