sql >> データベース >  >> RDS >> PostgreSQL

Postgres UTC日付形式とエポックキャスト、符号反転

    これ

    1970-01-01 00:00:00+01
    

    はISO8601タイムスタンプで、オフセットは+1時間で、+1はグリニッジの東を意味します。これらのオフセット

    01-01-1970 00:00:00 UTC+01
    1970-01-01 00:00:00 UTC+01
    1970-01-01 00:00:00 XXX+01
    1970-01-01 00:00:00 HAHA+01
    1970-01-01 00:00:00 Pancakes+01
    

    +1は西を意味するPOSIXスタイルのタイムゾーンとして解釈されます グリニッジの:

    PostgreSQLは、STDoffsetまたはSTDoffsetDSTの形式のPOSIXスタイルのタイムゾーン仕様を受け入れます。ここで、STDはゾーンの省略形であり、offsetはUTCから西に時間単位の数値オフセットです

    それに警告もあります:

    ゾーンの省略形の妥当性についてのチェックがないため、POSIXスタイルのタイムゾーン機能が偽の入力を黙って受け入れることにつながる可能性があることに注意する必要があります。たとえば、SET TIMEZONE TO FOOBAR0 は機能し、UTCのかなり独特な略語を使用してシステムを効果的に残します。覚えておくべきもう1つの問題は、POSIXタイムゾーン名では、グリニッジの西の場所に正のオフセットが使用されることです。他のすべての場所では、PostgreSQLは正のタイムゾーンオフセットがグリニッジの東にあるというISO-8601規則に従います。

    西と東の違いに注意してください。




    1. MySQLの日付間の月の違い

    2. MySQLのDOUBLEとDECIMAL

    3. SQLiteエラーに複数の行を挿入します(エラーコード=1)

    4. MySQLでのREGEXP_LIKE()関数のしくみ