W bazie danych Oracle SYSTIMESTAMP
funkcja zwraca datę systemową, w tym ułamki sekund i strefę czasową systemu, w którym znajduje się baza danych.
Zwracana wartość jest typu TIMESTAMP WITH TIME ZONE
.
Składnia
Składnia wygląda tak:
SYSTIMESTAMP
Tak więc żadne argumenty nie są wymagane (ani akceptowane) i nie ma nawiasów.
Przykład
Oto przykład:
SELECT SYSTIMESTAMP
FROM DUAL;
Wynik:
06/AUG/21 07:45:00.540362000 PM -04:00
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ć NLS_DATE_FORMAT
parametru lub użyj funkcji takiej jak TO_CHAR()
aby zwrócić wynik w innym formacie.
Przykład:
SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS TZR')
FROM DUAL;
Wynik:
2021-08-06 19:48:43 -04:00
Wywołanie SYSTIMESTAMP
z nawiasami
Jak wspomniano, SYSTIMESTAMP
funkcja jest wywoływana bez nawiasów.
Oto, co się dzieje, gdy nazywamy to w nawiasach:
SELECT SYSTIMESTAMP()
FROM DUAL;
Wynik:
Error starting at line : 1 in command - SELECT SYSTIMESTAMP() FROM DUAL Error at Command Line : 1 Column : 21 Error report - SQL Error: ORA-30088: datetime/interval precision is out of range 30088. 00000 - "datetime/interval precision is out of range" *Cause: The specified datetime/interval precision was not between 0 and 9. *Action: Use a value between 0 and 9 for datetime/interval precision.