2016-06-30 9 views
0

Postgresqlデータベースにタイムスタンプを追加する際にカルチャ不変情報を追加するには?Postgresqlのカルテインバリアント情報をタイムスタンプに追加するには?

テーブルクエリを作成します。

CREATE TABLE Table1(Id SERIAL NOT NULL PRIMARY KEY,CreatedDate TIMESTAMP); 

INSERTクエリ:

insert into Table1 (CreatedDate) 
    values (convert(TIMESTAMP,'18-06-12 10:34:09 PM',112)); 

をPostgreSQLデータベースにクエリを実行しながら、私はエラーの下に取得しています。

column "timestamp" does not exist 

このタイムスタンプを列に挿入するのは正しい方法ですか?

+0

「112」は何を意味しますか? –

+0

CultureInfo( "en-us")形式です。 – Shesha

答えて

3

あなたはこれを後ろ向きに考えていると思います。カルチャ不変情報をタイムスタンプに追加しません。タイムスタンプをフォーマット(to_charを参照)するか、タイムスタンプを解析するために使用します(datestyle設定オプションを参照)。

タイムスタンプを挿入するだけで、データスタイルを適切に設定してタイムスタンプにキャストします。これは、その後、常に米国であれば:2018は有効な年ですが、SET DATESTYLE = 'US';私が最初にあれば、私が得るため

SELECT '18-06-12 10:34:09 PM'::timestamp; 

作品:

が、あなたの場合には、私はので、あなたの例では、何かが間違っていると思います18は有効な月ではないため、エラーです。

1

私が見つけたとして、あなたはADD TIME ZONE

(to_timestamp('18-06-12 10:34:09 PM', 'yy-MM-dd') AT TIME ZONE 'America/Los_Angeles') 

のようなP.S.を使用する必要があります America/Los_Angelesこれは単なる例です

関連する問題