問題:
PostgreSQLデータベースで現在の日付と時刻を取得したいと考えています。タイムゾーンのオフセットは必要ありません。
解決策:
関数LOCALTIMESTAMP
を使用します タイムゾーン情報なしで現在の日付と時刻を取得するには:
SELECT LOCALTIMESTAMP ;
クエリの結果は次のとおりです。
2019-09-24 20:10:58.977914
ディスカッション:
PostgreSQL関数LOCALTIMESTAMP
(PostgreSQLのそのインスタンスを実行しているマシンの)現在の日付と時刻をタイムスタンプとして返します。 価値。 ' YYYY-MM-DD hh:mm:ss.nnnnnnnを使用します '形式、ここで:
- YYYY は4桁の年です。
- MM は2桁の月です。
- DD 2桁の日です。
- hh は2桁の時間です。
- mm 2桁の分です。
- ss は2桁の秒です。
- nnnnnn は小数秒です(0から6桁の精度まで)。
お気づきのとおり、この関数には括弧がありません。ただし、日付と時刻を特定の精度で表示する場合は、0〜6の整数を引数として角かっこで囲んでください。これにより、希望する秒数の日付と時刻が返されます。例:LOCALTIMESTAMP(1)
小数秒のみを示します(つまり、小数点以下1桁)。 2は2桁などを返します。デフォルトの精度は6で、これは小数秒の最大数でもあります。これは、角かっこをまったく使用しない場合に得られるものです。次の例を見てください:
SELECT LOCALTIMESTAMP(0) ;
クエリの結果は次のとおりです。
2019-09-24 20:10:58
引数として0を指定したため、この結果には小数秒は含まれていません。
この関数は、現在のトランザクションが開始された時刻を返します。 LOCALTIMESTAMP
の違い およびCURRENT_TIMESTAMP
LOCALTIMESTAMP
タイムゾーンオフセットは含まれていません。