В Oracle Database, SYSTIMESTAMP
функцията връща системната дата, включително част от секундите и часовата зона, на системата, в която се намира базата данни.
Върнатата стойност е от тип TIMESTAMP WITH TIME ZONE
.
Синтаксис
Синтаксисът е така:
SYSTIMESTAMP
Така че не се изискват (или приемат) аргументи и няма скоби.
Пример
Ето един пример:
SELECT SYSTIMESTAMP
FROM DUAL;
Резултат:
06/AUG/21 07:45:00.540362000 PM -04:00
Този пример показва датата въз основа на стойността на NLS_DATE_FORMAT
на моята система параметър (който в момента е DD/MON/RR
). Можем да променим NLS_DATE_FORMAT
параметър или използвайте функция като TO_CHAR()
за да върнете резултата в различен формат.
Пример:
SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS TZR')
FROM DUAL;
Резултат:
2021-08-06 19:48:43 -04:00
Извикване на SYSTIMESTAMP
със скоби
Както споменахме, SYSTIMESTAMP
функцията се извиква без скоби.
Ето какво се случва, когато го извикаме със скоби:
SELECT SYSTIMESTAMP()
FROM DUAL;
Резултат:
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.