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

Función SYSDATE en Oracle

En Oracle Database, el SYSDATE La función devuelve la fecha y la hora actuales establecidas para el sistema operativo en el que reside el servidor de la base de datos.

El valor devuelto es del tipo DATE .

Sintaxis

La sintaxis es así:

SYSDATE

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

Ejemplo

He aquí un ejemplo:

SELECT SYSDATE
FROM DUAL;

Resultado:

06/AUG/21

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 este parámetro o usar una función como TO_CHAR() para devolver el resultado en un formato diferente.

Ejemplo:

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD')
FROM DUAL;

Resultado:

2021-08-06

Llamar a SYSDATE con paréntesis

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

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

SELECT SYSDATE()
FROM DUAL;

Resultado:

Error starting at line : 1 in command -
SELECT SYSDATE()
FROM DUAL
Error at Command Line : 1 Column : 15
Error report -
SQL Error: ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:

Arreglando el SYSDATE Valor de retorno

El FIXED_DATE El parámetro de inicialización le permite establecer una fecha y hora constantes que SYSDATE siempre regresará en lugar de la fecha y hora actual.

Esto puede ayudar en situaciones de prueba cuando necesita los mismos datos de entrada para producir el mismo resultado consistentemente.

Consulte la documentación de Oracle para FIXED_DATE y también parámetros de inicialización en general para más información.