В 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.