Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Função SYSDATE no Oracle


No banco de dados Oracle, o SYSDATE A função retorna a data e hora atuais definidas para o sistema operacional no qual o servidor de banco de dados reside.

O valor retornado é do tipo DATE .

Sintaxe


A sintaxe fica assim:
SYSDATE

Portanto, nenhum argumento é necessário (ou aceito) e não há parênteses.

Exemplo


Aqui está um exemplo:
SELECT SYSDATE
FROM DUAL;

Resultado:
06/AUG/21

Este exemplo exibe a data com base no valor do NLS_DATE_FORMAT do meu sistema parâmetro (que atualmente é DD/MON/RR ). Podemos alterar este parâmetro ou usar uma função como TO_CHAR() para retornar o resultado em um formato diferente.

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

Resultado:
2021-08-06

Chamando SYSDATE com parênteses


Como mencionado, o SYSDATE função é chamada sem parênteses.

Aqui está o que acontece quando o chamamos entre parênteses:
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:

Corrigindo o SYSDATE Valor de retorno


O FIXED_DATE parâmetro de inicialização permite que você defina uma data e hora constantes que SYSDATE sempre retornará em vez da data e hora atuais.

Isso pode ajudar em situações de teste quando você precisa dos mesmos dados de entrada para produzir o mesmo resultado de forma consistente.

Consulte a documentação da Oracle para FIXED_DATE e também parâmetros de inicialização em geral para mais informações.