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

PostgreSQLで現在の時刻を取得する方法

    問題:

    PostgreSQLデータベースでタイムゾーンオフセットを使用して現在の時刻を取得したい。

    解決策:

    CURRENT_TIME関数を使用して、現在の時間とタイムゾーンの情報を取得します。作成するクエリは次のとおりです。

    SELECT CURRENT_TIME;
    

    クエリの結果は次のとおりです。

    16:10:11.232455-05

    ディスカッション:

    PostgreSQL関数CURRENT_TIME PostgreSQLが実行されているマシンの現在の時間とタイムゾーンのオフセットを返します。 'hh:mm:ss.nnnnnn +/- tz'の値として指定されます フォーマット。この形式:

    • hh は2桁の時間です。
    • mm 2桁の分です。
    • ss は2桁の秒です。
    • nnnnnn 0から6までの小数秒数(つまり、精度)を定義します。
    • + tz または-tz UTCからのプラスまたはマイナスのタイムゾーンオフセットです。

    CURRENT_TIME 括弧はありません。ただし、特定の精度で時間を表示する場合は、角かっこを追加して0〜6の整数を囲むことができます(「0」引数は小数秒を返しません。「1」は小数秒を返します(例:1小数点以下の桁数)など。これにより、宣言された小数秒数とタイムゾーンオフセットを含む時刻が返されます。次の例を見てください:

    SELECT CURRENT_TIME(2) ;
    

    クエリの結果は次のとおりです。

    16:10:11.23-05
    

    引数として2を指定したため、この結果には2桁の小数秒が含まれています。タイムゾーンオフセットは、時刻がUTCより進んでいるか遅れているかに応じて、正または負(+または-)として表示されます。

    この関数によって返される時間は、トランザクション中または単一のクエリ中に変更されません。常にトランザクションが開始された時刻です。


    1. PostgreSQLデータベースを別のサーバーにコピーしています

    2. SQLServerのパフォーマンスを容易にする

    3. 古い統計を確認する方法

    4. MigrationSchemaMissing(django_migrationsテーブルを作成できません(%s)%exc)