2011-08-22 12 views
10

私はpostgreSQLを初めて使用しています。私の驚いたことに、MySQLのUTC_DATE()と同等の機能はないようです。MySQLのUTC_DATE()に相当する最速のpostgreSQL(UTCの日付を取得しています)?

私は、&のタイムゾーン機能の組み合わせを使用して望みの結果を得ることができましたが、これを行う最も速い方法は何ですか?

私は、当日の午前0時00分00秒時に、UTC日付部分を取得したいです。

答えて

14

は、PostgreSQLのタイムゾーン機能を使用します。

SELECT 
    CAST(NOW() at time zone 'utc' AS date); 
+0

あなたも、時間zone'なし)(NOW '使用してもらえますか? –

+0

それは最善の方法ですか?私は現在、日付(タイムゾーン( 'UTC'、CURRENT_TIMESTAMP)を使用しています)があることをC#DateTime.Nowで考えている私は、DateTime.UtcNowを最初に使用してタイムゾーンを適用すると、これとパフォーマンスの違いはありますか? –

+1

@Doug Kress:いいえ、タイムゾーン 'utc'で 'now now() 'を選択し、タイムゾーンなしで' now ::):: timestamp; 'と異なる値を返します。違いは、 'now()time zone'は現在とUTCの間の時間差を適用していることです。 'now():: timestamp without time zone'はしません。 –

関連する問題