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

Qual é o equivalente do PostgreSQL ao SYSDATE da Oracle?


SYSDATE é uma função somente do Oracle.

O padrão ANSI define current_date ou current_timestamp que é suportado pelo Postgres e documentado no manual:
http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT

(A propósito:Oracle suporta CURRENT_TIMESTAMP também)

Você deve prestar atenção à diferença entre current_timestamp , statement_timestamp() e clock_timestamp() (que é explicado no manual, veja o link acima)

A parte where up_time like sysdate não faz qualquer sentido em tudo. Nem no Oracle nem no Postgres. Se você deseja obter linhas de "hoje", precisa de algo como:
select up_time 
from exam 
where up_time = current_date

Observe que no Oracle você provavelmente desejaria trunc(up_time) = trunc(sysdate) para se livrar da parte do tempo que sempre está incluída no Oracle.