Oracle
 sql >> Base de données >  >> RDS >> Oracle

Quel est l'équivalent PostgreSQL de SYSDATE d'Oracle ?

SYSDATE est une fonction Oracle uniquement.

La norme ANSI définit current_date ou current_timestamp qui est pris en charge par Postgres et documenté dans le manuel :
http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT

(Au fait :Oracle prend en charge CURRENT_TIMESTAMP aussi)

Vous devez faire attention à la différence entre current_timestamp , statement_timestamp() et clock_timestamp() (ce qui est expliqué dans le manuel, voir le lien ci-dessus)

La partie where up_time like sysdate ne fait pas tout sens du tout. Ni dans Oracle ni dans Postgres. Si vous souhaitez obtenir des lignes à partir de "aujourd'hui", vous avez besoin de quelque chose comme :

select up_time 
from exam 
where up_time = current_date

Notez que dans Oracle, vous voudriez probablement trunc(up_time) = trunc(sysdate) pour se débarrasser de la partie horaire qui est toujours incluse dans Oracle.