sql >> Base de Datos >  >> RDS >> Oracle

Función SYSTIMESTAMP en Oracle

En Oracle Database, el SYSTIMESTAMP La función devuelve la fecha del sistema, incluidas las fracciones de segundo y la zona horaria, del sistema en el que reside la base de datos.

El valor devuelto es del tipo TIMESTAMP WITH TIME ZONE .

Sintaxis

La sintaxis es así:

SYSTIMESTAMP

Por lo tanto, no se requieren (o aceptan) argumentos, y no hay paréntesis.

Ejemplo

He aquí un ejemplo:

SELECT SYSTIMESTAMP
FROM DUAL;

Resultado:

06/AUG/21 07:45:00.540362000 PM -04:00

Este ejemplo muestra la fecha según el valor del NLS_DATE_FORMAT de mi sistema. parámetro (que actualmente es DD/MON/RR ). Podemos cambiar el NLS_DATE_FORMAT parámetro, o use una función como TO_CHAR() para devolver el resultado en un formato diferente.

Ejemplo:

SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS TZR')
FROM DUAL;

Resultado:

2021-08-06 19:48:43 -04:00

Llamar a SYSTIMESTAMP con paréntesis

Como se mencionó, el SYSTIMESTAMP la función se llama sin paréntesis.

Esto es lo que sucede cuando lo llamamos entre paréntesis:

SELECT SYSTIMESTAMP()
FROM DUAL;

Resultado:

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.