2017-08-07 10 views
0

変数には年と月の両方の整数が必要です。年と月の変数をPostgreSQLのタイムスタンプに変換します

例えば:

year = 2016 month = 1

私は、私のselect文では、これら二つの変数指定されたタイムスタンプを返すようにしたいです。

私はドキュメントを見てきました。具体的にはto_timestampto_dateですが、すべての例では文字列がタイムスタンプに変換されています。 (それが可能な場合)だから、

to_timestamp(to_char(int,year) + ' ' + to_char(int, month),YYYY/MM/DD HH24:MI:SS) 

、どのように私は、タイムスタンプに私のyearmonthを変換することができます:

私は本当にのような、文字列に私のyearmonthを変換したくないですか?

+0

その日の価値はありますか?時間? –

+0

@TimBiegeleisenはちょうどデフォルトです - 私が興味を持っているのは本当にちょうど年と月です。その日が最初で、時間は深夜です。 – pookie

答えて

2

あなたはPostgresの9.4以降を使用している場合は、make_timestamp()を使用して試みることができる:

make_timestamp(2016, 1, 1, 0, 0, 0.0) 

これは、真夜中に2016年1月1日のタイムスタンプを作成します。他のコンポーネントのクエリ/計算に関連しなくなった場合でも(たとえば、日付が必要な場合など)、他のコンポーネントの値を指定する必要があります。

+0

パーフェクト。ありがとうございました。 – pookie

+0

私は正しいと印をつける前に10分待たなければなりませんでした。 – pookie

関連する問題