28

postgres には、日付列を持つテーブルがあります。現在、postgres を使用すると、日付を Ymd 形式で書き込むことができます。しかし、d/m/Y 形式の日付が必要です。変更方法は?

私がする時:

   show datestyle;

私は得る:

 "ISO, DMY"

そして、この形式でテーブルに日付を入力します13/02/2009

しかし、テーブルを閉じて再度開くと、これが表示されます2009-02-13。JDBC では、この形式でも日付が返されます。私は何を間違っていますか?

4

4 に答える 4

16

yyyy-mm-dd は、日付フィールドの推奨形式であり、ISO 8601 形式です。

postgresql.conf ファイルで形式を変更できます。

ドキュメントの状態

日付/時刻スタイルは、SET datestyle コマンド、postgresql.conf 構成ファイルの DateStyle パラメータ、またはサーバーまたはクライアントの PGDATESTYLE 環境変数を使用して、ユーザーが選択できます。書式設定関数 to_char は、日付/時刻の出力を書式設定するためのより柔軟な方法としても利用できます。

お役に立てれば!

于 2012-11-06T04:50:02.863 に答える
7

次のように、日付でto_char関数を使用します。

select to_char(date_column1, 'Mon/DD/YYYY');
于 2012-11-06T04:41:25.237 に答える
4

可能な限り、使用しないでくださいDATESTYLE。セッション内のすべてのコードに影響します。これには、ストアド プロシージャが想定していない可能性がありDATESTYLE、定義に明示的なオーバーライドが設定されていない可能性があるものも含まれます。

可能であればto_char、日付の出力と、to_timestampあいまいな可能性のある日付形式 ( D/M/Y. 残りの時間は ISO 日付を使用します。

于 2012-11-06T08:33:43.760 に答える