Oracle
 sql >> база данни >  >> RDS >> Oracle

SYSTIMESTAMP Функция в Oracle

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. System.Data.OracleClient изисква клиентски софтуер на Oracle версия 8.1.7

  2. Търсене на текст в съхранените процедури на Oracle

  3. Сигнали за време, прекарано в чакане на базата данни EM12c

  4. Oracle DB Server + APEX + ORDS + JasperReports от нулата (част 1)

  5. Възможно ли е да се изведе израз SELECT от PL/SQL блок?