問題タブ [to-timestamp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
85 参照

postgresql - Postgres; '2021-12-01 00:00:00' と '2021-12-01 23:59:59' の間で to_timestamp を使用して、日時クエリを表す整数を選択します

UNIX タイムスタンプ (エポックからの秒数を表す整数) を含む列があります。それらは次のようになります1638888715。関数を使用してこの int をタイムスタンプに快適に変換しto_timestamp()、次のような出力に到達します。2021-12-07 13:51:55+00

24 時間の間のデータを選択しようとしています: 2021-12-01 00:00:00 と 2021-12-01 23:59:59

私のクエリは次のようになります。

私が得るエラーは次のとおりです。

誰かが盲目的に明白なことを説明できますか?

:::EDIT1:::

to_timestamp回答ありがとうございます。今との違いがよくわかりましたto_timestamp(double precision)。整数は倍精度のタイムスタンプに変換されています (時間の最後にタイムゾーン +00 が存在します)。

クエリの最後の行は次のようになります。

loggeddate between to_timestamp('2021-12-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and to_timestamp('2021-12-02 00:00:00', 'YYYY-MM-DD HH24:MI:SS')

次のエラーが表示されます。

私は、私が望むものを手に入れるための回避策を見つけることができました。選択を日時フィルターなしでビューに書き込むことにより、整数は、私の「before」ステートメントを使用して照会できる日時に変換されます。

ビューをクエリします。

出力は次のようになります。

クエリを実行する前にデータをビューに書き込むのではなく、これをすべて 1 つのステップで実行できると便利です。同じ結果です。

乾杯

EDIT2 - 作業; SGiux、エイドリアン、バジルに感謝

作業クエリは次のようになります。