2013-06-06 4 views
33

は、私は次のようにSYSDATEを使用してクエリを実行します。OracleからのSYSDATEに相当するPostgreSQLとは何ですか?オラクルでは可能である</p> <pre><code>select up_time from exam where up_time like sysdate </code></pre> <p>:

しかし、PostgreSQLはsysdateをサポートしていないようです。私はpostgresのドキュメントでsysdateを見つけることができませんでした。 PostgreSQLのsysdateの代わりになるものは何ですか?

答えて

45

SYSDATEはOracleのみの機能です。

ANSI規格はのPostgresでサポートされていると、マニュアルに記載されているcurrent_dateまたはcurrent_timestampを定義しています
http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT

(ところで:Oracleは、同様CURRENT_TIMESTAMPサポート)

をあなたに注意を払う必要がありますcurrent_timestamp,statement_timestamp()およびclock_timestamp()の違い(マニュアルに説明されています、上記のリンクを参照してください)


この文:

select up_time from exam where up_time like sysdate

はまったく任意の意味がありません。 OracleやPostgresではどちらもありません。オラクルでは、あなたはおそらくtrunc(up_time) = trunc(sysdate)は、常にOracleの中に含まれている時刻部分を取り除きたいということ

select up_time 
from exam 
where up_time = current_date 

注:「今日」から行を取得したい場合は、次のようなものが必要。

関連する問題